public async Task Test_DetailsPerson_ReturnsOk() { // Arrange var personId = 1; var walletId = 2; PersonRepoMock.Setup(r => r.GetAsync(personId)).ReturnsAsync(new Person { Id = personId, FirstName = "A", LastName = "B" }); PersonRepoMock.Setup(r => r.GetWalletsAsync(personId)).ReturnsAsync(new List <Wallet>() { new Wallet { Id = walletId } }); Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Test"); // Act var response = await Client.GetAsync($"/api/persons/Details/{personId}"); // Assert response.EnsureSuccessStatusCode(); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); var content = await response.Content.ReadAsStringAsync(); var person = JsonConvert.DeserializeObject <PersonDTO>(content); Assert.AreEqual(personId, person.Id); Assert.AreEqual(1, person.Wallets.Count()); Assert.AreEqual(walletId, person.Wallets.ToList().FirstOrDefault().Id); }
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 PostPersonTest() { PersonRepoMock.Setup(r => r.AddPerson(It.IsAny <PersonDTO>())); NumberGeneratorMock.Setup(n => n.GetRandomNumbers()).Returns(Task.FromResult(37)); var testedPersonDto = await PersonManagerTest.AddPerson(PersonData.MockPerson).ConfigureAwait(false); NumberGeneratorMock.Verify(pr => pr.GetRandomNumbers(), Times.Never); Assert.NotEqual(new Guid(), testedPersonDto.ID); Assert.Equal(PersonData.MockPerson.Name, testedPersonDto.Name); Assert.Equal(PersonData.MockPerson.Surname, testedPersonDto.Surname); Assert.Equal(PersonData.MockPerson.Birthday, testedPersonDto.Birthday); }
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); }
public async Task Test_Get_AllPersons() { // Arrange var personsList = new List <Person>() { new Person { }, new Person { } }; PersonRepoMock.Setup(r => r.GetAsync()).ReturnsAsync(personsList); // Act var response = await Client.GetAsync("/api/persons/getall"); // Assert response.EnsureSuccessStatusCode(); var personsJson = await response.Content.ReadAsStringAsync(); var persons = JsonConvert.DeserializeObject <List <PersonDTO> >(personsJson); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.AreEqual(personsList.Count, persons.Count); }