예제 #1
0
        public ActionResult <CarOutputModel> AddCar([FromBody] CarInputModel car)
        {
            var result = _carManager.AddCar(car);

            return(new ObjectResult(result)
            {
                StatusCode = StatusCodes.Status201Created
            });
        }
        public void AddCar_Must_Add_Car_To_User()
        {
            //Arrange
            var userId = "1";
            var user   = new ApplicationUser
            {
                Id          = userId,
                UserProfile = new UserProfile
                {
                    Cars = new List <UserCar>()
                }
            };
            var dto = new AddOrEditUserCarDto
            {
                Name           = "Test",
                ModelId        = 1,
                Year           = 2015,
                Vin            = "0123456789ABCDEFG",
                FuelType       = FuelType.Diesel,
                EngineCapacity = 2.0f
            };

            var validationResult = new ValidationResult("test");

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

            var repository = new Mock <ICarModelsRepository>();

            repository.Setup(act => act.Get(dto.ModelId.Value)).Returns(new CarModel());
            _unitOfWorkMock.Setup(act => act.Repository <ICarModelsRepository>()).Returns(repository.Object);

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

            //Assert
            _validationManagerMock.Verify(act => act.ValidateUserCarDto(dto), Times.Once);
            repository.Verify(act => act.Get(dto.ModelId.Value), Times.Once);
            _unitOfWorkMock.Verify(act => act.Repository <ICarModelsRepository>(), Times.Once);
            _unitOfWorkMock.Verify(act => act.SaveChanges(), Times.Once);
        }
예제 #3
0
 public IHttpActionResult AddCar(AddOrEditUserCarDto dto)
 {
     return(CallBusinessLogicAction(() => _manager.AddCar(dto, User.Identity.GetUserId())));
 }