/
TestsDemoObjectControllerService.cs
114 lines (99 loc) · 3.6 KB
/
TestsDemoObjectControllerService.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
using Microsoft.Extensions.DependencyInjection;
using NUnit.Framework;
using ShtrihM.DemoServer.Processing.Api.Common.Dtos.DemoObject.Update;
using ShtrihM.DemoServer.Processing.Model.Interfaces;
using ShtrihM.DemoServer.Processing.Tests.Model.Environment;
using ShtrihM.Wattle3.Testing;
using System.Threading.Tasks;
using ShtrihM.DemoServer.Processing.Api.Common.Dtos.DemoObject;
namespace ShtrihM.DemoServer.Processing.Tests.Model;
public class TestsDemoObjectControllerService : BaseTestsDomainObjects
{
#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
private IDemoObjectControllerService m_demoObjectControllerService;
#pragma warning restore CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
private bool m_skipCountInternalException;
[SetUp]
public void SetUp()
{
m_skipCountInternalException = false;
m_demoObjectControllerService = m_entryPoint.ServiceProvider.GetService<IDemoObjectControllerService>()!;
}
[TearDown]
public void TearDown()
{
var snapShot = m_entryPoint.ExceptionPolicy.InfrastructureMonitor.GetSnapShot();
if (false == m_skipCountInternalException)
{
Assert.AreEqual(0, snapShot.CountInternalException, GetDbLogs());
}
Assert.AreEqual(0, snapShot.CountMapperException, GetDbLogs());
Assert.AreEqual(0, snapShot.CountUnexpectedException, GetDbLogs());
}
[Test]
[Timeout(TestTimeout.Unit)]
[Category(TestCategory.Unit)]
public async Task Test_CreateAsync()
{
var info =
await m_demoObjectControllerService.CreateAsync(
new DemoObjectCreate
{
Enabled = true,
Name = "Name",
});
Assert.True(info.Enabled);
Assert.AreEqual("Name", info.Name);
}
[Test]
[Timeout(TestTimeout.Unit)]
[Category(TestCategory.Unit)]
public async Task Test_ReadAsync()
{
var info =
await m_demoObjectControllerService.CreateAsync(
new DemoObjectCreate
{
Enabled = true,
Name = "Name",
});
info = await m_demoObjectControllerService.ReadAsync(info.Id);
Assert.True(info.Enabled);
Assert.AreEqual("Name", info.Name);
}
[Test]
[Timeout(TestTimeout.Unit)]
[Category(TestCategory.Unit)]
public async Task Test_UpdateAsync()
{
var info =
await m_demoObjectControllerService.CreateAsync(
new DemoObjectCreate
{
Enabled = true,
Name = "Name",
});
info =
await m_demoObjectControllerService.UpdateAsync(
new DemoObjectUpdate
{
Id = info.Id,
Fields =
[
new DemoObjectUpdateFieldValueOfEnabled
{
Enabled = false,
},
new DemoObjectUpdateFieldValueOfName
{
Name = "Name2",
}
],
});
Assert.False(info.Enabled);
Assert.AreEqual("Name2", info.Name);
info = await m_demoObjectControllerService.ReadAsync(info.Id);
Assert.False(info.Enabled);
Assert.AreEqual("Name2", info.Name);
}
}