1 using System.Collections.Generic;
3 using Microsoft.EntityFrameworkCore;
15 private readonly Mock<DbSet<ScientificInternship>> _mockDbSet =
MockProvider.GetMockSet(GetTestData().AsQueryable());
17 private static IEnumerable<ScientificInternship> GetTestData()
21 TestData.ScientificInternship1,
22 TestData.ScientificInternship2
26 private Mock<ScientificReportDbContext> GetMockContext()
28 var mockContext =
new Mock<ScientificReportDbContext>();
29 mockContext.Setup(item => item.ScientificInternships).Returns(_mockDbSet.Object);
36 var list = GetTestData().AsQueryable();
38 var mockContext =
new Mock<ScientificReportDbContext>();
39 mockContext.Setup(item => item.ScientificInternships).Returns(
MockProvider.GetMockSet(list).Object);
42 var actual = service.GetAll();
44 Assert.Equal(list.Count(), actual.Count());
51 var actual = service.GetAllWhere(u => u.Id.Equals(TestData.ScientificInternship1.Id));
52 Assert.Single(actual);
58 var expected = GetTestData().First();
61 var actual = service.GetById(expected.Id);
63 Assert.NotNull(actual);
64 Assert.Equal(expected.Id, actual.Id);
72 var expected = TestData.ScientificInternship3;
83 var expected = GetTestData().First();
84 expected.Contents = TestData.ScientificInternship3.Contents;
87 _mockDbSet.Verify(m => m.Update(expected), Times.Once);
93 var mockContext = GetMockContext();
96 var item = mockContext.Object.ScientificInternships.First();
98 Assert.True(service.Exists(item.Id));
100 service.DeleteById(item.Id);
102 Assert.False(service.Exists(item.Id));
110 var item = GetTestData().First();
111 var exists = service.Exists(item.Id);
121 var item = TestData.ScientificInternship3;
122 var exists = service.Exists(item.Id);
124 Assert.False(exists);
130 var scientificInternship = GetTestData().First();
132 var service =
new Mock<ScientificInternshipService>(GetMockContext().Object);
134 service.Setup(item => item.GetUsers(scientificInternship.Id));
135 service.Object.GetUsers(scientificInternship.Id);
136 service.Verify(item => item.GetUsers(scientificInternship.Id));