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); }
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))); } }