Esempio n. 1
0
        public async Task DeletePerson_When_User_Is_Deleted_Will_Return_User()
        {
            //Arrange
            var fakePersonId  = 0;
            var fakePerson    = GetPersonFake(fakePersonId);
            var fakePersonDto = GetPersonResponseDtoFake(fakePerson);

            _personRepositoryMock.Setup(e => e.GetPersonAsync(fakePersonId))
            .Returns(Task.FromResult(fakePerson));
            _personRepositoryMock.Setup(e => e.RemovePersonAsync(fakePerson))
            .Returns(Task.CompletedTask);

            //Act
            var personsController = new PersonsController(_loggerMock.Object, _personRepositoryMock.Object);
            var actionResult      = await personsController.DeletePersonAsync(fakePersonId);

            //Assert
            var okObjectResult = Assert.IsType <OkObjectResult>(actionResult.Result);
            var resultValue    = (PersonResponseDTO)okObjectResult.Value;

            Assert.Equal(resultValue.Id, fakePersonDto.Id);
            Assert.Equal(resultValue.Name, fakePersonDto.Name);
            Assert.Equal(resultValue.DisplayName, fakePersonDto.DisplayName);

            for (int i = 0; i < fakePersonDto.Skills.Count; i++)
            {
                Assert.Equal(fakePersonDto.Skills[i].Name, resultValue.Skills[i].Name);
                Assert.Equal(fakePersonDto.Skills[i].Level, resultValue.Skills[i].Level);
            }
        }
Esempio n. 2
0
        public async Task DeletePerson_When_User_Is_Not_Found_Will_Return_Not_Found()
        {
            //Arrange
            var fakePersonId = 0;
            var fakePerson   = GetPersonFake(fakePersonId);

            _personRepositoryMock.Setup(e => e.GetPersonAsync(fakePersonId))
            .Returns(Task.FromResult <Person>(null));
            _personRepositoryMock.Setup(e => e.RemovePersonAsync(fakePerson))
            .Returns(Task.CompletedTask);
            //Act
            var personsController = new PersonsController(_loggerMock.Object, _personRepositoryMock.Object);
            var actionResult      = await personsController.DeletePersonAsync(fakePersonId);

            //Assert
            Assert.IsType <NotFoundObjectResult>(actionResult.Result);
        }