public void Should_create_or_update_vehicle_on_post_put_when_provided_valid_post_vehicle()
        {
            //Arrange
            var _vehicleRepo = new Mock <IRepository <VehicleModel> >();

            _vehicleRepo.Setup(moq => moq.Read()).Returns(new System.Collections.Generic.List <VehicleModel>()
            {
                new VehicleModel()
                {
                    Plate = "test"
                }
            });

            var id   = Guid.NewGuid();
            var post = new PostVehicleModel()
            {
                Make        = "test make",
                Model       = "test model",
                Odometer    = 0,
                Plate       = "test plate",
                VehicleType = VehicleTypeEnum.Electric,
                Year        = 0,
            };

            _controller = new VehiclesController(_vehicleRepo.Object, _serviceRepo.Object);

            //Act
            var result  = JsonConvert.DeserializeObject <ResultModel>(_controller.Post(post));
            var result1 = JsonConvert.DeserializeObject <ResultModel>(_controller.Put(post.ToVehicleModel()));

            //Assert
            Assert.False(result.IsError);
            Assert.False(result1.IsError);
        }
        public void Should_not_create_or_update_vehicle_on_post_put_when_provided_invalid_make()
        {
            //Arrange
            var _vehicleRepo = new Mock <IRepository <VehicleModel> >();

            var id   = Guid.NewGuid();
            var post = new PostVehicleModel()
            {
                Make        = null,
                Model       = "test model",
                Odometer    = 0,
                Plate       = "test plate",
                VehicleType = VehicleTypeEnum.Electric,
                Year        = 0,
            };

            _controller = new VehiclesController(_vehicleRepo.Object, _serviceRepo.Object);

            //Act
            var result  = JsonConvert.DeserializeObject <ResultModel>(_controller.Post(post));
            var result1 = JsonConvert.DeserializeObject <ResultModel>(_controller.Put(post.ToVehicleModel()));

            //Assert
            Assert.True(result.IsError);
            Assert.True(result1.IsError);
        }
Пример #3
0
 public string Post([FromBody] PostVehicleModel value)
 {
     try
     {
         var vehicle    = value.ToVehicleModel();
         var validation = ValidateVehicle(vehicle);
         if (validation.Length == 0)
         {
             _repo.Create(vehicle);
             return(JsonConvert.SerializeObject(new ResultModel("New Vehicle Created", false)));
         }
         return(JsonConvert.SerializeObject(new ResultModel(validation.Aggregate((a, b) => $"{a} | {b}"), true)));
     }
     catch (Exception ex)
     {
         return(JsonConvert.SerializeObject(new ResultModel(ex.Message, true)));
     }
 }