Пример #1
0
        public IHttpActionResult UpdateFlavor(int id, FlavorDto flavorDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var otherFlavor = unitOfWork.Flavors.SingleOrDefault(f => f.Name == "Other");

            if (otherFlavor.Id == id)
            {
                return(BadRequest());
            }

            var flavorInDbWithGivenName = unitOfWork.Flavors.SingleOrDefault(e => e.Name == flavorDto.Name);

            if (flavorInDbWithGivenName != null)
            {
                return(BadRequest());
            }

            var flavorInDb = unitOfWork.Flavors.SingleOrDefault(e => e.Id == id);

            Mapper.Map(flavorDto, flavorInDb);

            unitOfWork.Complete();

            return(Ok());
        }
Пример #2
0
        public void CreateFlavor_NameAlreadyExists_ReturnBadRequest()
        {
            var flavorDto = new FlavorDto();

            unitOfWork.Setup(uof => uof.Flavors.SingleOrDefault(f => f.Name == flavorDto.Name))
            .Returns(new Flavor());

            var result = controller.CreateFlavor(new FlavorDto());

            Assert.That(result, Is.InstanceOf(typeof(BadRequestResult)));
        }
Пример #3
0
        public void CreateFlavor_ModelIsValid_ReturnCreated()
        {
            var flavorDto = new FlavorDto();
            var flavor    = Mapper.Map <FlavorDto, Flavor>(flavorDto);

            unitOfWork.Setup(uow => uow.Flavors.Add(flavor));
            unitOfWork.Setup(uow => uow.Complete());

            var result = controller.CreateFlavor(flavorDto);

            Assert.That(result, Is.InstanceOf(typeof(CreatedNegotiatedContentResult <FlavorDto>)));
        }
Пример #4
0
        public async Task <IActionResult> AddFlavor(FlavorDto flavorDto)
        {
            var flavor = new Flavor
            {
                Name  = flavorDto.Name,
                Price = flavorDto.Price
            };

            await _context.Flavor.AddAsync(flavor);

            await _context.SaveChangesAsync();

            return(StatusCode(201));
        }
Пример #5
0
        public static FlavorDto MapFlavorToDto(this Flavor flavor)
        {
            if (flavor == null)
            {
                return(null);
            }

            var flavorDto = new FlavorDto()
            {
                Id    = flavor.Id,
                Name  = flavor.Name,
                Price = flavor.Price
            };

            return(flavorDto);
        }
Пример #6
0
        public async Task <IActionResult> EditFlavor(FlavorDto flavorDto, int id)
        {
            var flavor = await _context.Flavor.FirstOrDefaultAsync(x => x.Id == id);

            if (flavor == null)
            {
                return(null);
            }

            flavor.Name  = flavorDto.Name;
            flavor.Price = flavorDto.Price;

            await _context.SaveChangesAsync();

            return(StatusCode(200));
        }
Пример #7
0
        public void UpdateFlavor_FlavorWithGivenNameExists_ReturnBadRequest()
        {
            var flavorDto = new FlavorDto {
                Name = "Example"
            };

            unitOfWork.Setup(uow => uow.Flavors.SingleOrDefault(f => f.Name == "Other"))
            .Returns(new Flavor());
            unitOfWork.Setup(uow => uow.Flavors.SingleOrDefault(e => e.Name == flavorDto.Name))
            .Returns(new Flavor {
                Name = "Example"
            });

            var result = controller.UpdateFlavor(It.IsAny <int>(), flavorDto);

            Assert.That(result, Is.InstanceOf(typeof(BadRequestResult)));
        }
Пример #8
0
        public IHttpActionResult CreateFlavor(FlavorDto flavorDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var flavorInDb = unitOfWork.Flavors.SingleOrDefault(f => f.Name == flavorDto.Name);

            if (flavorInDb != null)
            {
                return(BadRequest());
            }

            var flavor = Mapper.Map <FlavorDto, Flavor>(flavorDto);

            unitOfWork.Flavors.Add(flavor);
            unitOfWork.Complete();

            flavorDto.Id = flavor.Id;

            return(Created(new Uri(Request.RequestUri + "/" + flavor.Id), flavorDto));
        }