public async Task <IActionResult> Edit([FromBody] CarEditApiModel carEditApiModel, int carID) { if (carEditApiModel == null) { return(BadRequest()); } Car currentCar = await _repository.FindCarAsync(carID); if (currentCar == null) { return(NotFound()); } bool isCarAuthor = AuthorizeSucceeded(currentCar).Result; if (!isCarAuthor) { return(StatusCode(403)); } _mapper.Map <CarEditApiModel, Car>(carEditApiModel, currentCar); await _repository.EditCarAsync(currentCar, carID); return(CreatedAtRoute(nameof(Get), new { carID = currentCar.CarID }, currentCar)); }
public void Can_Edit_Car() { SetupSuccessFindCar1InMockRepository(); CarEditApiModel car1EditApiModel = new CarEditApiModel { Brand = "Ford", Model = "Galaxy", MobileNumber = "+375337654321", CarDescription = new CarDescription { Color = "blue", FuelType = "gasoline", EngineСapacity = 2.0, YearOfManufacture = 2005 }, Price = 7000 }; Car resultCar = null; _mockRepository.Setup(r => r.EditCarAsync(It.IsAny <Car>(), 1)).Callback <Car, int>((c, i) => resultCar = c); IActionResult result = _carController.Edit(car1EditApiModel, 1).Result; Assert.IsType <CreatedAtRouteResult>(result); Assert.Equal(car1EditApiModel.Brand, resultCar.Brand); Assert.Equal(car1EditApiModel.Model, resultCar.Model); Assert.Equal(car1EditApiModel.MobileNumber, resultCar.MobileNumber); Assert.Equal(car1EditApiModel.Price, resultCar.Price); Assert.Equal(car1EditApiModel.CarDescription.Color, resultCar.CarDescription.Color); Assert.Equal(car1EditApiModel.CarDescription.FuelType, resultCar.CarDescription.FuelType); Assert.Equal(car1EditApiModel.CarDescription.EngineСapacity, resultCar.CarDescription.EngineСapacity); Assert.Equal(car1EditApiModel.CarDescription.YearOfManufacture, resultCar.CarDescription.YearOfManufacture); _mockRepository.Verify(m => m.EditCarAsync(It.IsAny <Car>(), 1)); }
public void Cannot_Edit_Nonexisting_Car() { SetupUnsuccessFindCar100InMockRepository(); CarEditApiModel car1EditApiModel = new CarEditApiModel { Brand = "Ford", Model = "Galaxy", MobileNumber = "+375337654321", CarDescription = new CarDescription { Color = "blue", FuelType = "gasoline", EngineСapacity = 2.0, YearOfManufacture = 2005 }, Price = 7000 }; IActionResult result = _carController.Edit(car1EditApiModel, 100).Result; Assert.IsType <NotFoundResult>(result); }