示例#1
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);
        }
示例#2
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);
        }
示例#3
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);
        }