Ejemplo n.º 1
0
        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"
            });
        }
Ejemplo n.º 2
0
        public IActionResult Delete(string id)
        {
            var viewModel = new CarDeleteViewModel
            {
                Id = id,
            };

            return(this.View(viewModel));
        }
Ejemplo n.º 3
0
        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"));
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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"));
        }