1 using System.Collections.Generic;
3 using Microsoft.EntityFrameworkCore;
14 private readonly Mock<DbSet<Article>> _mockDbSet =
MockProvider.GetMockSet(GetTestData().AsQueryable());
16 private static IEnumerable<Article> GetTestData()
25 private Mock<ScientificReportDbContext> GetMockContext()
27 var mockContext =
new Mock<ScientificReportDbContext>();
28 mockContext.Setup(item => item.Articles).Returns(_mockDbSet.Object);
35 var list = GetTestData().AsQueryable();
37 var mockContext =
new Mock<ScientificReportDbContext>();
38 mockContext.Setup(item => item.Articles).Returns(
MockProvider.GetMockSet(list).Object);
41 var actual = service.GetAll();
43 Assert.Equal(list.Count(), actual.Count());
50 var actual = service.GetAllWhere(u => u.Id.Equals(TestData.Article1.Id));
51 Assert.Single(actual);
57 var expected = GetTestData().First();
60 var actual = service.GetById(expected.Id);
62 Assert.NotNull(actual);
63 Assert.Equal(expected.Id, actual.Id);
71 var expected = TestData.Article3;
72 service.CreateItem(expected);
74 _mockDbSet.Verify(m => m.Add(It.IsAny<
Article>()), Times.Once);
82 var expected = GetTestData().First();
83 expected.Title = TestData.Article3.Title;
84 service.UpdateItem(expected);
86 _mockDbSet.Verify(m => m.Update(expected), Times.Once);
92 var mockContext = GetMockContext();
95 var item = mockContext.Object.Articles.First();
97 Assert.True(service.Exists(item.Id));
99 service.DeleteById(item.Id);
101 Assert.False(service.Exists(item.Id));
109 var item = GetTestData().First();
110 var exists = service.Exists(item.Id);
120 var item = TestData.Article3;
121 var exists = service.Exists(item.Id);
123 Assert.False(exists);
129 var service =
new Mock<ArticleService>(GetMockContext().Object);
131 var article = _mockDbSet.Object.FirstOrDefault();
133 Assert.NotNull(article);
135 var actual = service.Object.GetAuthors(article.Id);
137 Assert.NotNull(actual);
139 service.Verify(m => m.GetAuthors(article.Id), Times.Once);
146 var expectedArticles = _mockDbSet.Object.AsQueryable();
148 Assert.NotNull(expectedArticles);
150 var count = expectedArticles.Count();
151 var actualArticles = service.GetPage(1, count);
153 Assert.NotNull(actualArticles);
154 Assert.Equal(count, actualArticles.Count());
161 var expectedArticles = _mockDbSet.Object.AsQueryable();
163 Assert.Equal(expectedArticles.Count(), service.GetCount());