ScientificReport
ConferenceRepositoryTests.cs
Go to the documentation of this file.
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using Moq;
8 using Xunit;
9 
10 namespace ScientificReport.Test.RepositoriesTests
11 {
13  {
14  private static readonly IEnumerable<Conference> TestConferences = new[]
15  {
16  TestData.Conference1,
17  TestData.Conference2,
18  TestData.Conference3
19  };
20 
21  private static Mock<ScientificReportDbContext> GetMockContext()
22  {
23  var mockContext = new Mock<ScientificReportDbContext>();
24  mockContext.Setup(item => item.Conferences).Returns(
25  MockProvider.GetMockSet(TestConferences).Object
26  );
27  return mockContext;
28  }
29 
30  [Fact]
31  public void AllTest()
32  {
33  var repository = new ConferenceRepository(GetMockContext().Object);
34  var actual = repository.All();
35  Assert.Equal(TestConferences.Count(), actual.Count());
36  }
37 
38  [Fact]
39  public void AllWhereTest()
40  {
41  var mockContext = GetMockContext();
42  var repository = new ConferenceRepository(mockContext.Object);
43  var actual = repository.AllWhere(a => a.Id == mockContext.Object.Conferences.First().Id);
44  Assert.Single(actual);
45  }
46 
47  [Fact]
48  public void GetTest()
49  {
50  var mockContext = GetMockContext();
51  var repository = new ConferenceRepository(mockContext.Object);
52  var expected = mockContext.Object.Conferences.First();
53  var actual = repository.Get(o => o.Id == expected.Id);
54  Assert.NotNull(actual);
55  }
56 
57  [Fact]
58  public void GetQueryTest()
59  {
60  var mockContext = GetMockContext();
61  var repository = new ConferenceRepository(mockContext.Object);
62  var actual = repository.GetQuery();
63  Assert.Equal(actual.Count(), mockContext.Object.Conferences.Count());
64  }
65 
66  [Fact]
67  public void GetByIdTest()
68  {
69  var mockContext = GetMockContext();
70  var repository = new ConferenceRepository(mockContext.Object);
71  var expected = mockContext.Object.Conferences.First();
72  var actual = repository.Get(expected.Id);
73  Assert.NotNull(actual);
74  }
75 
76  [Fact]
77  public void CreateTest()
78  {
79  var mockContext = GetMockContext();
80  var repository = new ConferenceRepository(mockContext.Object);
81  Assert.Equal(TestConferences.Count(), mockContext.Object.Conferences.Count());
82  repository.Create(TestData.Conference1);
83  Assert.Equal(TestConferences.Count(), repository.All().Count());
84  }
85 
86  [Fact]
87  public void UpdateTest()
88  {
89  var mockContext = GetMockContext();
90  var repository = new ConferenceRepository(mockContext.Object);
91  var item = mockContext.Object.Conferences.First();
92  repository.Update(item);
93  Assert.NotNull(repository.Get(item.Id));
94  }
95 
96  [Fact]
97  public void UpdateItemIsNullTest()
98  {
99  var mockContext = GetMockContext();
100  var repository = new ConferenceRepository(mockContext.Object);
101  repository.Update(null);
102  }
103 
104  [Fact]
105  public void DeleteTest()
106  {
107  var mockContext = GetMockContext();
108  var repository = new ConferenceRepository(mockContext.Object);
109  var item = mockContext.Object.Conferences.First();
110  repository.Delete(item.Id);
111  Assert.Null(mockContext.Object.Conferences.Find(item.Id));
112  }
113  }
114 }
def repository(name)
Definition: generate.py:18