Exemple #1
0
        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);
        }
Exemple #2
0
        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));
            }
        }