Escali License control 1
SegmentServiceTest.cs
Gå til dokumentasjonen til denne filen.
1using System;
2using System.Threading.Tasks;
7using Xunit;
8
10{
11
12
17{
24 private async Task<DataContext> InsertData(DataContext context)
25 {
26 context.MainSegments.Add(new MainSegment() { MainSegmentName = "MainSegment 1" });
27 context.Segments.Add(new Segment () { SegmentName = "Segment 1", MainSegmentSeq = 1});
28 await context.SaveChangesAsync();
29 return context;
30 }
31
36 [Fact]
38 {
40 await InsertData(context);
41
42 var segmentService = new SegmentService(context);
43 var res = segmentService.GetAllSegments();
44
45 Assert.NotEmpty(res.Result);
46 }
47
52 [Fact]
54 {
55
56 // Arrange
58 await InsertData(context);
59
60 var newSegmentWithSameNameAsAlreadyInserted = new Segment() { SegmentName = "Segment 1"};
61 await context.SaveChangesAsync();
62
63 var segmentService = new SegmentService(context);
64
65 // Act
66 var op = async () => await segmentService.AddSegment(newSegmentWithSameNameAsAlreadyInserted);
67
68 // Assert
69 await Assert.ThrowsAsync<InvalidOperationException>(op);
70
71 }
72
77 [Fact]
79 {
81 await InsertData(context);
82
83 var segmentService = new SegmentService(context);
84 //var res = segmentService.GetAllSegments();
85
86 var res = context.Segments.FindAsync(1).Result;
87
88 res.SegmentName = "DetNyeSegmentet";
89 segmentService.UpdateSegment(res);
90
91 Assert.Equal(context.Segments.FindAsync(1).Result.SegmentName, res.SegmentName);
92
93
94 }
95 }
96}
97
var context
Definition: Program.cs:49
SegmentService class inserts and updates Segment in the Database
async void UpdateSegment_SegmentNameUpdatedCorrectly()
Adds an segment and mainsegment to DataContext Will pass if updates segmentname equals the returned s...
async void AddSegment_SegmentListNotEmpty()
Adds an segment and mainsegment to DataContext Will pass if segmentlist is not empty
async void AddSegment_SegmentNameAlreadyExists()
Adds an segment and mainsegment to DataContext Will pass if InvalidOperationException is thrown
async Task< DataContext > InsertData(DataContext context)
Adds an mainsegment with the segment to DataContext Will pass if user added correctly
static DataContext GetContext()
Creates a testcontext for testing
Definition: TestBase.cs:14