Escali License control 1
PriorityServiceTest.cs
Gå til dokumentasjonen til denne filen.
1using System.Threading.Tasks;
6using Microsoft.EntityFrameworkCore;
7using Xunit;
8
10{
11
16{
17
18 private async Task<DataContext> InsertData(DataContext context)
19 {
20 context.Priorities.Add(new Priority() { PriorityName = Priority.PriorityLevel.GOLD });
21 await context.SaveChangesAsync();
22 return context;
23 }
24
29 [Fact]
30 public async void GetAllPriorities_IsNotEmpty()
31 {
32
33 // Arrange
35 await InsertData(context);
36
37 // Act
38 var priortyService = new PriorityService(context);
39 var res = priortyService.GetAllPriorities();
40
41 // Assert
42 Assert.Single(res.Result);
43
44 }
45
49 [Fact]
50 public async void UpdatePriority_Allowed()
51 {
52
53 // Arrange
55 await InsertData(context);
56
57 // Act
58 var priorityService = new PriorityService(context);
59 var res = priorityService.GetAllPriorities();
60 Priority p = res.Result[0];
61
63 await priorityService.UpdatePriority(p);
64 var updateRes = priorityService.GetAllPriorities();
65
66 // Assert
67 Assert.Equal(Priority.PriorityLevel.GOLD, updateRes.Result[0].PriorityName);
68
69 }
70
75 [Fact]
77 {
78 // Arrange
80 await InsertData(context);
81
82 // Act
83 var priorityService = new PriorityService(context);
84 var res = priorityService.GetAllPriorities();
85 Priority p = res.Result[0];
86
87 // Assert
88 Assert.False(p.PriorityName.Equals("GOLD"));
89 Assert.IsType<Priority.PriorityLevel>(p.PriorityName);
90 Assert.Equal("GOLD", p.PriorityName.ToString());
91 }
92
96 [Fact]
98 {
99 // Arrange
101
102 // Act
103 Priority priority = new Priority();
104 var priorityService = new PriorityService(context);
105 var op = async () => await priorityService.AddPriority(priority);
106
107 await Assert.ThrowsAsync<DbUpdateException>(op);
108
109 }
110
111 }
112}
113
var context
Definition: Program.cs:49
PriorityService class inserts and updates Priority in the Database
async Task< DataContext > InsertData(DataContext context)
async void AddPriority_PriorityNameNotSet()
passes if DbUpdateException is thrown when adding unnamed priority
async void GetAllPriorities_IsNotEmpty()
Inserts a priority in prioritylist passes if there exist a priority in prioritylist
async void PriorityNameIsEnum_NotEqualString()
passes if priorityname is not a string because it is enum
async void UpdatePriority_Allowed()
passes if priority exist in prioritylist and updates priorityname
static DataContext GetContext()
Creates a testcontext for testing
Definition: TestBase.cs:14