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); }
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)); }
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); }
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); }
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")); }
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(); }
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)); }
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)); }