public void UpdateDroneWithoutImageURLExeption() { var droneRepo = new Mock <IDroneRepository>(); IDroneService droneService = new DroneService(droneRepo.Object); var drone = new Drone() { Id = 1, Manufacturer = new Manufacturer() { Id = 1, Name = "Phantom", Drones = new List <Drone>() { new Drone() } }, ProductName = "B15", Price = 500, Details = "Handsome", //ImageURL = "www.imgUrl.com" }; var e = Assert.Throws <ArgumentException>(() => droneService.Update(drone)); Assert.Equal("ImageURL cannot be null or empty", e.Message); }
public void UpdateDroneEnsureRepositoryIsCalled() { var droneRepo = new Mock <IDroneRepository>(); IDroneService service = new DroneService(droneRepo.Object); var isCalled = false; var drone = new Drone() { Id = 1, Manufacturer = new Manufacturer() { Id = 1, Name = "Phantom", Drones = new List <Drone>() { new Drone() } }, ProductName = "B15", Price = 500, Details = "Handsome", ImageURL = "www.imgUrl.com" }; droneRepo.Setup(x => x.Update(drone)).Callback(() => isCalled = true).Returns(new Drone() { Id = 1, Manufacturer = new Manufacturer() { Id = 1, Name = "Phantom", Drones = new List <Drone>() { new Drone() } }, ProductName = "B15", Price = 500, Details = "Handsome", ImageURL = "www.imgUrl.com" }); service.Update(drone); Assert.True(isCalled); }
public IActionResult Update(int id, [FromBody] DroneViewModel drone) { if (drone == null || drone.Id != id) { return(BadRequest()); } var retVal = _droneService.Update(drone); if (retVal == 0) { return(StatusCode(304)); //Not Modified } else if (retVal == -1) { return(StatusCode(412, "DbUpdateConcurrencyException")); //412 Precondition Failed - concurrency } else { return(Accepted(drone)); } }