public void EditCar_Must_Edit_User_Car()
        {
            //Arrange
            var userId = "1";
            var dto    = new AddOrEditUserCarDto
            {
                Id             = 1,
                Name           = "test",
                Year           = 2006,
                Vin            = "0123456789ABCDEFG",
                FuelType       = FuelType.Benzine,
                EngineCapacity = 1.6f
            };

            var validationResult = new ValidationResult("test");
            var userCar          = UserCarUtils.Create(1, "TEST", "modelName", "markName", userId);

            _userManagerMock.Setup(act => act.IsUserInRegularRole(userId));
            _validationManagerMock.Setup(act => act.ValidateUserCarDto(dto)).Returns(validationResult);

            var userCarRepository = new Mock <IUserCarRepository>();

            userCarRepository.Setup(act => act.Get(dto.Id.Value)).Returns(userCar);
            userCarRepository.Setup(act => act.Update(userCar));
            _unitOfWorkMock.Setup(act => act.Repository <IUserCarRepository>()).Returns(userCarRepository.Object);

            //Act
            Assert.DoesNotThrow(() => _manager.EditCar(dto, userId));

            //Assert
            _validationManagerMock.Verify(act => act.ValidateUserCarDto(dto), Times.Once);
            userCarRepository.Verify(act => act.Get(dto.Id.Value), Times.Once);
            _unitOfWorkMock.Verify(act => act.Repository <IUserCarRepository>(), Times.Once);
            userCarRepository.Verify(act => act.Update(userCar), Times.Once);
            _unitOfWorkMock.Verify(act => act.SaveChanges(), Times.Once);
        }
Ejemplo n.º 2
0
 public IHttpActionResult EditCar(AddOrEditUserCarDto dto)
 {
     return(CallBusinessLogicAction(() => _manager.EditCar(dto, User.Identity.GetUserId())));
 }