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); }
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)); }