public async Task GetPersonsTest() { NumberGeneratorMock.Setup(n => n.GetRandomNumbers()).Returns(Task.FromResult(37)); PersonRepoMock.Setup(r => r.GetAllPersons()).Returns(Task.FromResult(PersonData.MockPersonEntityList)); IEnumerable <PersonDTO> mockPersonList = new List <PersonDTO>(); CacheManagerMock.Setup(c => c.GetCacheMemoryObject( It.IsAny <string>(), out mockPersonList)).Returns(false); CacheManagerMock.Setup(c => c.SetMemory( It.IsAny <string>(), mockPersonList)); NumberGeneratorMock.Setup(n => n.GetRandomNumbers()).Returns(Task.FromResult(37)); var testedPersonList = await PersonManagerTest.GetAllPersons().ConfigureAwait(false); var testedPerson = testedPersonList.FirstOrDefault(); var testedChild = testedPerson.Children.First(); PersonRepoMock.Verify(pr => pr.GetAllPersons(), Times.Once); NumberGeneratorMock.Verify(ng => ng.GetRandomNumbers(), Times.Once); CacheManagerMock.Verify(cm => cm.GetCacheMemoryObject(It.IsAny <string>(), out mockPersonList), Times.Once); CacheManagerMock.Verify(cm => cm.SetMemory(It.IsAny <string>(), It.IsAny <IEnumerable <PersonDTO> >()), Times.Once); Assert.True(testedPersonList.Any()); Assert.True(testedPerson.Children.Any()); Assert.Equal(testedPerson.ID, testedChild.PersonId); }
public async Task Test_DeletePerson_ReturnsOk() { // Arrange var personId = 1; PersonRepoMock.Setup(r => r.DeleteAsync(personId)).ReturnsAsync(0); Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Test"); // Act var response = await Client.DeleteAsync($"/api/persons/Delete/{personId}"); // Assert response.EnsureSuccessStatusCode(); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); PersonRepoMock.Verify(r => r.DeleteAsync(personId), Times.Once); }
public async Task Test_AddPerson_ReturnsOk() { // Arrange var newPerson = new PersonDTO { FirstName = "A", LastName = "B", Phone = "324234", Email = "*****@*****.**" }; PersonRepoMock.Setup(r => r.AddAsync(It.IsAny <Person>())).ReturnsAsync(new Person()); var newPersonJson = JsonConvert.SerializeObject(newPerson); var content = new StringContent(newPersonJson, Encoding.UTF8, "application/json"); Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Test"); // Act var response = await Client.PostAsync("/api/persons/Add", content); // Assert response.EnsureSuccessStatusCode(); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); PersonRepoMock.Verify(r => r.AddAsync(It.IsAny <Person>()), Times.Once); }