Escali License control 1
MainSegmentServiceTest.cs
Gå til dokumentasjonen til denne filen.
1using System;
2using System.Threading.Tasks;
7using Microsoft.EntityFrameworkCore;
8using Xunit;
9
11{
12
17{
23 private async Task<DataContext> InsertData(DataContext context)
24 {
25 context.MainSegments.Add(new MainSegment() { MainSegmentName = "MainSegment1" });
26 await context.SaveChangesAsync();
27 return context;
28 }
29
33 [Fact]
34 public async void AddMainSegment_Successfull()
35 {
37 await InsertData(context);
38
39 var mainSegmentService = new MainSegmentServices(context);
40 var res = mainSegmentService.GetAllMainSegments();
41
42 Assert.NotEmpty(res.Result);
43 }
44
48 [Fact]
50 {
51
52 // Arrange
54 await InsertData(context);
55
56 var newMainSegmentWithSameNameAsAlreadyInserted = new MainSegment() { MainSegmentName = "MainSegment1" };
57 await context.SaveChangesAsync();
58
59 var mainSegmentService = new MainSegmentServices(context);
60
61 // Act
62 var op = async () => await mainSegmentService.AddMainSegment(newMainSegmentWithSameNameAsAlreadyInserted);
63
64 // Assert
65 await Assert.ThrowsAsync<InvalidOperationException>(op);
66
67 }
68
72 [Fact]
74 {
75
76 // Arrange
78 await InsertData(context);
79
80 // Act
81 var mainSegmentService = new MainSegmentServices(context);
82 var res = mainSegmentService.GetAllMainSegments();
83
84 // Assert
85 Assert.NotEmpty(res.Result);
86
87 }
88
92 [Fact]
93 public async void GetAllMainSegments_IsEmpty()
94 {
95
96 // Arrange
98 await InsertData(context);
99
100 // Act
101 var mainSegmentService = new MainSegmentServices(context);
102 var res = mainSegmentService.GetAllMainSegments();
103
104 //Assert
105 Assert.NotEmpty(res.Result);
106
107
108 var indexZero = res.Result[0];
109 await mainSegmentService.DeleteMainSegment(indexZero.MainSegmentSeq);
110
111 var resUpdated = mainSegmentService.GetAllMainSegments();
112
113 // Assert
114 Assert.Empty(resUpdated.Result);
115
116
117 }
118
119 }
120}
var context
Definition: Program.cs:49
MainSegmentService class inserts and updates MainSegment in the Database
async void AddMainSegment_Successfull()
passes if mainsegment-list is not empty after inserting mainsegment
async void GetAllMainSegments_IsEmpty()
passes if mainsegmentlist is not empty after insert, and mainsegmentlist is empty after remove
async void GetAllMainSegments_IsNotEmpty()
passes if mainsegmentlist is not empty after insertion
async Task< DataContext > InsertData(DataContext context)
Creates MainSegment and adds to the context
async void AddMainSegment_MainSegmentNameAlreadyExistsThrowsInvalidOperationException()
passes if mainsegmentname already exist, and it throws and InvalidOperationException
static DataContext GetContext()
Creates a testcontext for testing
Definition: TestBase.cs:14