public void SavePromoCode_Update()
        {
            var repo = CreateRepo(100, new PromoCodeEntity
            {
                Id = 100
            });
            var service = new PromoCodeManagerService(repo.Object);

            PromoCodeDto result = service.SavePromoCode(new PromoCodeSaveDto
            {
                Id          = 100,
                Code        = "CODE",
                Description = "description",
                Discount    = 90,
                From        = DateTime.Today,
                To          = DateTime.Today
            });

            repo.Verify(x => x.Save(It.IsAny <PromoCodeEntity>()));
            Assert.AreEqual(100, result.Id);
            Assert.AreEqual("code", result.Code);
            Assert.AreEqual("description", result.Description);
            Assert.AreEqual(90, result.Discount);
            Assert.AreEqual(DateTime.Today, result.From);
            Assert.AreEqual(DateTime.Today, result.To);
        }
        public void SavePromoCode_Update_NoEntity()
        {
            var repo    = CreateRepo(100, null);
            var service = new PromoCodeManagerService(repo.Object);

            service.SavePromoCode(new PromoCodeSaveDto
            {
                Id = 100
            });
        }
        public void SavePromoCode_Update_EntityAlreadyDeleted()
        {
            var repo = CreateRepo(100, new PromoCodeEntity
            {
                IsDeleted = true
            });
            var service = new PromoCodeManagerService(repo.Object);

            service.SavePromoCode(new PromoCodeSaveDto
            {
                Id = 100
            });
        }