ScientificReport
PatentLicenseActivityServiceTests.cs
Go to the documentation of this file.
1 using System.Collections.Generic;
2 using System.Linq;
3 using Microsoft.EntityFrameworkCore;
4 using Moq;
9 using Xunit;
10 
11 namespace ScientificReport.Test.ServicesTests
12 {
14  {
15  private readonly Mock<DbSet<PatentLicenseActivity>> _mockDbSet = MockProvider.GetMockSet(GetTestData().AsQueryable());
16 
17  private static IEnumerable<PatentLicenseActivity> GetTestData()
18  {
19  TestData.PatentLicenseActivity1.AuthorsPatentLicenseActivities = new List<AuthorsPatentLicenseActivities>
20  {
22  {
23  PatentLicenseActivity = TestData.PatentLicenseActivity1,
24  Author = TestData.User1
25  }
26  };
27  TestData.PatentLicenseActivity2.AuthorsPatentLicenseActivities = new List<AuthorsPatentLicenseActivities>
28  {
30  {
31  PatentLicenseActivity = TestData.PatentLicenseActivity2,
32  Author = TestData.User1
33  }
34  };
35  return new[]
36  {
37  TestData.PatentLicenseActivity1,
38  TestData.PatentLicenseActivity2
39  };
40  }
41 
42  private Mock<ScientificReportDbContext> GetMockContext()
43  {
44  var mockContext = new Mock<ScientificReportDbContext>();
45  mockContext.Setup(item => item.PatentLicenseActivities).Returns(_mockDbSet.Object);
46 
47  var userProfileSet = MockProvider.GetMockSet(new []{TestData.User1}.AsQueryable());
48  var departmentSet = MockProvider.GetMockSet(new []{TestData.Department1}.AsQueryable());
49 
50  mockContext.Setup(item => item.UserProfiles).Returns(userProfileSet.Object);
51  mockContext.Setup(item => item.Departments).Returns(departmentSet.Object);
52 
53  return mockContext;
54  }
55 
56  [Fact]
57  public void GetAllTest()
58  {
59  var list = GetTestData().AsQueryable();
60 
61  var mockContext = new Mock<ScientificReportDbContext>();
62  mockContext.Setup(item => item.PatentLicenseActivities).Returns(MockProvider.GetMockSet(list).Object);
63  var service = new PatentLicenseActivityService(mockContext.Object);
64 
65  var actual = service.GetAll();
66 
67  Assert.Equal(list.Count(), actual.Count());
68  }
69 
70  [Fact]
71  public void GetAllWhereTest()
72  {
73  var service = new PatentLicenseActivityService(GetMockContext().Object);
74  var actual = service.GetAllWhere(u => u.Id.Equals(TestData.PatentLicenseActivity1.Id));
75  Assert.Single(actual);
76  }
77 
78  [Fact]
79  public void GetByIdTest()
80  {
81  var expected = GetTestData().First();
82  var service = new PatentLicenseActivityService(GetMockContext().Object);
83 
84  var actual = service.GetById(expected.Id);
85 
86  Assert.NotNull(actual);
87  Assert.Equal(expected.Id, actual.Id);
88  }
89 
90  [Fact]
91  public void CreateItemTest()
92  {
93  var service = new PatentLicenseActivityService(GetMockContext().Object);
94 
95  var expected = TestData.PatentLicenseActivity3;
96  service.CreateItem(new PatentLicenseActivityModel(expected));
97 
98  _mockDbSet.Verify(m => m.Add(It.IsAny<PatentLicenseActivity>()), Times.Once);
99  }
100 
101  [Fact]
102  public void UpdateItemTest()
103  {
104  var service = new PatentLicenseActivityService(GetMockContext().Object);
105 
106  var expected = GetTestData().First();
107  expected.Name = TestData.PatentLicenseActivity3.Name;
108  service.UpdateItem(new PatentLicenseActivityEditModel(expected));
109 
110  _mockDbSet.Verify(m => m.Update(expected), Times.Once);
111  }
112 
113  [Fact]
114  public void DeleteItemTest()
115  {
116  var mockContext = GetMockContext();
117  var service = new PatentLicenseActivityService(mockContext.Object);
118 
119  var item = mockContext.Object.PatentLicenseActivities.First();
120 
121  Assert.True(service.Exists(item.Id));
122 
123  service.DeleteById(item.Id);
124 
125  Assert.False(service.Exists(item.Id));
126  }
127 
128  [Fact]
129  public void ExistsTest()
130  {
131  var service = new PatentLicenseActivityService(GetMockContext().Object);
132 
133  var item = GetTestData().First();
134  var exists = service.Exists(item.Id);
135 
136  Assert.True(exists);
137  }
138 
139  [Fact]
140  public void DoesNotExistTest()
141  {
142  var service = new PatentLicenseActivityService(GetMockContext().Object);
143 
144  var item = TestData.PatentLicenseActivity3;
145  var exists = service.Exists(item.Id);
146 
147  Assert.False(exists);
148  }
149 
150  [Fact]
151  public void GetAuthorsTest()
152  {
153  var patentLicenseActivity = GetTestData().First();
154 
155  var service = new Mock<PatentLicenseActivityService>(GetMockContext().Object);
156 
157  service.Setup(item => item.GetAuthors(patentLicenseActivity.Id));
158  service.Object.GetAuthors(patentLicenseActivity.Id);
159  service.Verify(item => item.GetAuthors(patentLicenseActivity.Id));
160  }
161 
162  [Fact]
163  public void GetApplicantsTest()
164  {
165  var patentLicenseActivity = GetTestData().First();
166 
167  var service = new Mock<PatentLicenseActivityService>(GetMockContext().Object);
168 
169  service.Setup(item => item.GetApplicants(patentLicenseActivity.Id));
170  service.Object.GetApplicants(patentLicenseActivity.Id);
171  service.Verify(item => item.GetApplicants(patentLicenseActivity.Id));
172  }
173 
174  [Fact]
175  public void GetCoauthorsTest()
176  {
177  var patentLicenseActivity = GetTestData().First();
178 
179  var service = new Mock<PatentLicenseActivityService>(GetMockContext().Object);
180 
181  service.Setup(item => item.GetCoauthors(patentLicenseActivity.Id));
182  service.Object.GetCoauthors(patentLicenseActivity.Id);
183  service.Verify(item => item.GetCoauthors(patentLicenseActivity.Id));
184  }
185 
186  [Fact]
187  public void GetCoApplicantsTest()
188  {
189  var patentLicenseActivity = GetTestData().First();
190 
191  var service = new Mock<PatentLicenseActivityService>(GetMockContext().Object);
192 
193  service.Setup(item => item.GetCoApplicants(patentLicenseActivity.Id));
194  service.Object.GetCoApplicants(patentLicenseActivity.Id);
195  service.Verify(item => item.GetCoApplicants(patentLicenseActivity.Id));
196  }
197  }
198 }
virtual ICollection< AuthorsPatentLicenseActivities > AuthorsPatentLicenseActivities