Ejemplo n.º 1
0
        public async Task CreateCar_ActionExecutes_Success_Returns_StatusCodeOk()
        {
            CarForCreationDTO carToBeCreated = new CarForCreationDTO
            {
                Make     = "honda",
                Model    = "civic",
                Engine   = "2.0 T petrol",
                Doors    = 4,
                Wheels   = 4,
                BodyType = "sedan"
            };

            Car carCreated = new Car
            {
                VehicleTypeId = 1,
                Make          = "honda",
                Model         = "civic",
                Engine        = "2.0 T petrol",
                Doors         = 4,
                Wheels        = 4,
                BodyType      = "sedan"
            };

            _mockRepo.Setup(repo => repo.Car.CreateCar(carCreated));


            _mockRepo.Setup(repo => repo.SaveAsync())
            .Returns(Task.CompletedTask)
            .Verifiable();

            var result = await _controller.CreateCar(carToBeCreated);

            Assert.IsType <OkObjectResult>(result);
        }
Ejemplo n.º 2
0
        public async Task CreateCar_ActionExecutes_invalidModel_Returns_Unprocessed()
        {
            _controller.ModelState.AddModelError("Make", "Required");
            CarForCreationDTO carToBeCreated = new CarForCreationDTO
            {
                Model    = "civic",
                Engine   = "2.0 T petrol",
                Doors    = 4,
                Wheels   = 4,
                BodyType = "sedan"
            };
            var result = await _controller.CreateCar(carToBeCreated);

            Assert.IsType <UnprocessableEntityObjectResult>(result);
        }
        public async Task <IActionResult> CreateCar([FromBody] CarForCreationDTO car)
        {
            if (car == null)
            {
                return(BadRequest("parameter car is empty"));
            }
            if (!ModelState.IsValid)
            {
                return(UnprocessableEntity("Invalid model state for the car input object"));
            }

            Car carToAdd = _mapper.Map <Car>(car);

            _repository.Car.Add(carToAdd);
            await _repository.SaveAsync();

            CarForViewDTO carCreated = _mapper.Map <CarForViewDTO>(carToAdd);

            return(Ok(carCreated));
        }