Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }