Пример #1
0
        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));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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);
        }