Beispiel #1
0
        public async Task UseCodeByCodeStringShouldReturnCorrect()
        {
            var repository = new Mock <IRepository <CouponCode> >();

            repository.Setup(r => r.All()).Returns(new List <CouponCode>
            {
                new CouponCode()
                {
                    Code = "AsdAsd"
                },
                new CouponCode()
                {
                    Code = "123213"
                },
                new CouponCode()
                {
                    Code = "zzzzzz"
                },
            }.AsQueryable());

            var service = new CouponCodeService(repository.Object);

            service.UseCodeByCodeString("123213");

            var usedCode    = repository.Object.All().FirstOrDefault(c => c.Code == "123213");
            var unusedCode1 = repository.Object.All().FirstOrDefault(c => c.Code == "AsdAsd");
            var unusedCode2 = repository.Object.All().FirstOrDefault(c => c.Code == "zzzzzz");

            Assert.True(usedCode.IsUsed);
            Assert.False(unusedCode1.IsUsed);
            Assert.False(unusedCode2.IsUsed);
        }
Beispiel #2
0
        public JsonResult CheckPCode()
        {
            var pcode = RequestHelper.GetValue("pcode");

            if (string.IsNullOrEmpty(pcode))
            {
                return(Json(new { result = false, info = "优惠码不能为空!" }, JsonRequestBehavior.DenyGet));
            }
            var     info       = "";
            decimal amount     = 0;
            var     couponcode = new CouponCodeDto();
            var     result     = CouponCodeService.Query(pcode, out couponcode);

            if (result)
            {
                amount = couponcode.Amount;
                info   = $"优惠码有效!优惠金额:{amount}";
            }
            else
            {
                info   = "优惠码已过期或已超过最大使用次数!";
                amount = 0;
            }
            return(Json(new { result = result, info = info, amount = amount }, JsonRequestBehavior.DenyGet));
        }
Beispiel #3
0
        public async Task CanUseCodeByCodeStringShouldReturnCouponCode()
        {
            var repository = new Mock <IRepository <CouponCode> >();

            repository.Setup(r => r.All()).Returns(new List <CouponCode>
            {
                new CouponCode()
                {
                    Code = "AsdAsd", IsUsed = true
                },
                new CouponCode()
                {
                    Code = "123213",
                },
                new CouponCode()
                {
                    Code = "zzzzzz", ValidUntil = DateTime.Now.AddMonths(1)
                },
            }.AsQueryable());

            var service = new CouponCodeService(repository.Object);

            var resultShouldBeNull1 = await service.CanUseCodeByCodeString("AsdAsd");

            var resultShouldBeNull2 = await service.CanUseCodeByCodeString("123213");

            var resultShouldBeCode = await service.CanUseCodeByCodeString("zzzzzz");

            Assert.Null(resultShouldBeNull1);
            Assert.Null(resultShouldBeNull2);
            Assert.IsType <CouponCode>(resultShouldBeCode);
        }
Beispiel #4
0
        public async Task GetBaseByCodeShouldReturnCouponCode()
        {
            var repository = new Mock <IRepository <CouponCode> >();

            repository.Setup(r => r.All()).Returns(new List <CouponCode>
            {
                new CouponCode()
                {
                    Code = "AsdAsd"
                },
                new CouponCode()
                {
                    Code = "123213"
                },
                new CouponCode()
                {
                    Code = "zzzzzz"
                },
            }.AsQueryable());

            var service = new CouponCodeService(repository.Object);

            var code = await service.GetBaseByCode("AsdAsd");

            Assert.Equal("AsdAsd", code.Code);
        }
Beispiel #5
0
        public ActionResult AddPost()
        {
            var des            = RequestHelper.GetValue("des");
            var amount         = RequestHelper.GetDecimal("amount");
            var expirationtime = RequestHelper.GetInt("expirationtime");

            if (amount <= 0 || expirationtime <= 0)
            {
                return(RedirectToAction("Add"));
            }
            var dto = new CouponCodeDto()
            {
                Code           = FormatHelper.GetCouponCode(),
                Des            = des,
                Amount         = amount,
                CreateTime     = DateTime.Now,
                ExpirationTime = DateTime.Now.AddDays(expirationtime),
                MaxCount       = 0,
                Status         = 1
            };
            var result = CouponCodeService.Add(dto);

            LogService.Info($"CouponCodeService.Add >>> {result} --- {dto.Code}");
            return(RedirectToAction("List"));
        }
Beispiel #6
0
        public static void UnitTest()
        {
            CurrentContainer = new IoCContainer();
            IO.Container     = CurrentContainer;
            SettingsService.InclVat();
            VatCalculationStrategy.OverParts();

            Logger.Mock();

            UwebshopConfiguration.UseType <UwebshopConfiguration>();            // todo no UseType? (slow)
            UwebshopRequestService.Use(MockConstructors.CreateMockUwebshopRequestService());

            OrderDiscountRepository.SetupFake();
            CategoryService.Use(MockConstructors.CreateMockEntityService <ICategoryService, Category>());
            ProductVariantService.Use(MockConstructors.CreateMockEntityService <IProductVariantService, ProductVariant>());
            CouponCodeService.Mock();

            StoreRepository.Use(new TestStoreRepository());
            CMSEntityRepository.Use(new TestCMSEntityRepository());
            CountryRepository.Use(new TestCountryRepository());
            VATCountryRepository.Use(new TestVATCountryRepository());
            OrderRepository.Mock();
            ProductDiscountRepository.Mock();
            ProductRepository.Mock();
            ProductVariantGroupRepository.Mock();
            CategoryRepository.Mock();
            ProductVariantRepository.Mock();

            CMSApplication.Use(new StubCMSApplicationNotInBackend());
            HttpContextWrapper.Mock();

            DiscountService.UseType <FakeDiscountService>();

            StoreService.Use(new TestStoreService());
            OrderService.Use(new TestOrderService());
            ProductService.Use(new TestProductService());
            CMSDocumentTypeService.Use(new StubCMSDocumentTypeService());

            OrderUpdatingService.Mock();
            OrderNumberService.Mock();
            CatalogUrlResolvingService.Mock();
            PaymentProviderService.Mock();
            StoreFromUrlDeterminationService.Mock();
            StockService.Mock();
            ApplicationCacheService.Mock();

            UwebshopRequestService.Use(new StubUwebshopRequestService());

            CurrentContainer.SetDefaultServiceFactory(new MockServiceFactory());

            ModuleFunctionality.Register(CurrentContainer);
            CurrentContainer.RegisterType <IContentTypeAliassesXmlService, StubContentTypeAliassesXmlService>();
            CurrentContainer.RegisterType <IProductVariantGroupService, ProductVariantGroupService>();

            InitializeServiceLocators();
        }
Beispiel #7
0
        public JsonResult GetList()
        {
            var offset = RequestHelper.GetInt("offset");
            var limit  = RequestHelper.GetInt("limit");
            var key    = RequestHelper.GetValue("search");
            int total;
            var list = CouponCodeService.GetList(offset, limit, out total, key);

            return(Json(new { rows = list, total = total }, JsonRequestBehavior.AllowGet));
        }
Beispiel #8
0
        public JsonResult UpdatePost()
        {
            var id     = RequestHelper.GetInt("id");
            var status = RequestHelper.GetInt("status");

            if (id < 0 || status > 1 || status < 0)
            {
                return(Json(new { result = false, info = "参数不正确" }, JsonRequestBehavior.DenyGet));
            }

            var result = CouponCodeService.Update(id, status);

            LogService.Info($"CouponCodeService.Update >>> {result} --- {id}:{status}");
            return(Json(new { result = result }, JsonRequestBehavior.DenyGet));
        }