public void GetDeleteViewModel_GivenValidCarId_ShouldReturnCarDeleteViewModel() { int carId = 1; IMapper mapper = new Mapper(new MapperConfiguration(cfg => cfg.CreateMap <Car, CarDeleteViewModel>())); Mock <IDbRepository <Car> > mockRepository = new Mock <IDbRepository <Car> >(); mockRepository .Setup(x => x.GetById(1)) .Returns(new Car() { Id = 1, Brand = "TestBrand", CarModel = "TestModel", HasAirConditioner = true, Year = 1234, OwnerId = 1, Image = new byte[1024] }); CarsService service = new CarsService(mockRepository.Object, mapper); // act CarDeleteViewModel result = service.GetDeleteViewModel(carId); // assert result.Should().BeEquivalentTo(new CarDeleteViewModel() { Id = 1, Brand = "TestBrand", CarModel = "TestModel" }); }
public IActionResult Delete(string id) { var viewModel = new CarDeleteViewModel { Id = id, }; return(this.View(viewModel)); }
public IActionResult Delete(int id, [FromServices] ICarsService carsService) { CarDeleteViewModel model = carsService.GetDeleteViewModel(id); if (model != null) { return(this.PartialView("_DeleteConfirmation", model)); } return(this.RedirectToAction("Error", "Home")); }
public async Task <IActionResult> Delete(int id) { CarDeleteViewModel carDeleteViewModel = (await this.carService.GetById(id)) .To <CarDeleteViewModel>(); if (carDeleteViewModel == null) { // TODO: Error Handling return(this.Redirect("/")); } return(this.View(carDeleteViewModel)); }
public void GetDeleteViewModel_GivenNonExistingId_ShouldReturnNull() { // arrange int carId = 1; Mock <IDbRepository <Car> > mockRepository = new Mock <IDbRepository <Car> >(); mockRepository .Setup(x => x.GetById(It.IsAny <int>())) .Returns <Car>(null); CarsService service = new CarsService(mockRepository.Object, null); // act CarDeleteViewModel result = service.GetDeleteViewModel(carId); // assert result.Should().BeEquivalentTo <CarDeleteViewModel>(null); }
public async Task <IActionResult> Delete(CarDeleteViewModel input) { var car = this.carService.GetById(input.Id); var carUserId = car.UserId; var currentUser = await this.userManager.GetUserAsync(this.User); var currentUserId = currentUser.Id; if (currentUserId != carUserId) { return(this.BadRequest("Failed to delete the car")); } if (!this.ModelState.IsValid) { return(this.View(input)); } await this.carService.Delete(input.Id); return(this.RedirectToAction("MyCars")); }