public async Task Arguments_are_validated_for_CanRedeemCoupon_method() { var mockLogger = Mock.Of <ILogger>(); var mockProvider = Mock.Of <ICouponProvider>(); var sut = new CouponManager(mockLogger, mockProvider); await Assert.ThrowsExceptionAsync <ArgumentNullException>(() => sut.CanRedeemCoupon(Guid.NewGuid(), Guid.NewGuid(), null)); }
public void TestCase5_CheckEvaluatorEmpty() { // Setup MyLogger log = new MyLogger(); MyCouponProvider cp = new MyCouponProvider(); Guid couponId = new Guid("00000000-0000-0000-0000-00000000BBBB"); Guid userId = new Guid("00000000-0000-0000-0000-00000000ABAB"); List <Func <Coupon, Guid, bool> > theList = new List <Func <Coupon, Guid, bool> >(); CouponManager cm = new CouponManager(log, cp); try { // Apply Task <bool> task = cm.CanRedeemCoupon(couponId, userId, theList); task.Wait(); bool result = task.Result; // Check Assert.AreEqual(result, true); } catch (Exception e) { Assert.Fail(e.Message); } }
public void TestCanRedeemCoupon() { var cm1 = new CouponManager(LogManager.GetCurrentClassLogger(), new CouponProvider()); var ex = Assert.CatchAsync <ArgumentNullException>(() => cm1.CanRedeemCoupon(Guid.NewGuid(), Guid.NewGuid(), null)); Assert.AreEqual(ex.ParamName, "evaluators"); var evaluators = new List <Func <CouponManager, Guid, bool> >(); Assert.Catch <KeyNotFoundException>(async() => await cm1.CanRedeemCoupon(Guid.Empty, Guid.NewGuid(), evaluators)); var xx = Guid.NewGuid(); Task <bool> r1; r1 = cm1.CanRedeemCoupon(xx, Guid.NewGuid(), evaluators); Assert.IsTrue(r1.Result); evaluators.Add((manager, guid) => true); r1 = cm1.CanRedeemCoupon(xx, Guid.NewGuid(), evaluators); Assert.IsTrue(r1.Result); evaluators.Add((manager, guid) => false); r1 = cm1.CanRedeemCoupon(xx, Guid.NewGuid(), evaluators); Assert.IsFalse(r1.Result); }
public void CouponManagerCanRedeemCouponTest_Evaluators() { var logger = new Mock <ILogger>(); var couponProvider = new Mock <ICouponProvider>(); var couponManager = new CouponManager(logger.Object, couponProvider.Object); couponProvider.Setup(s => s.Retrieve(It.IsAny <Guid>())).ReturnsAsync(new Coupon()); var evals = new List <Func <Coupon, Guid, bool> >() { (coupon, guid) => false, (coupon, guid) => false }; var result = couponManager.CanRedeemCoupon(Guid.Empty, Guid.Empty, evals).Result; Assert.IsFalse(result); evals = new List <Func <Coupon, Guid, bool> >() { (coupon, guid) => true, (coupon, guid) => false }; var result1 = couponManager.CanRedeemCoupon(Guid.Empty, Guid.Empty, evals).Result; Assert.IsTrue(result1); }
private void ApplyCouponToCart() { var couponManager = new CouponManager(_shoppingCartRepository); var discountAmount = couponManager.GetCouponDiscountAmountForCart(); _shoppingCartRepository.SetDiscountAmountByCoupon(discountAmount); }
public void CouponManager_Ensure_Instance_Has_Created_Returns_True() { var coupon = new CouponManager(new Cart()); // assert Assert.IsNotNull(coupon); }
public void TestCase3_CheckEvaluatorIsNull() { // Setup MyLogger log = new MyLogger(); MyCouponProvider cp = new MyCouponProvider(); Guid couponId = new Guid("00000000-0000-0000-0000-00000000BA12"); Guid userId = new Guid("00000000-0000-0000-0000-000000001111"); List <Func <Coupon, Guid, bool> > theList = null; CouponManager cm = new CouponManager(log, cp); try { // Apply Task <bool> task = cm.CanRedeemCoupon(couponId, userId, theList); task.Wait(); bool result = task.Result; // Check Assert.Fail("Exception must be thrown"); } catch (Exception e) { Assert.IsTrue(e.Message.Contains("evaluators")); } }
public void TestCase2_CheckFalse() { // Setup MyLogger log = new MyLogger(); MyCouponProvider cp = new MyCouponProvider(); Guid couponId = new Guid("00000000-0000-0000-0000-00000000BA12"); Guid userId = new Guid("00000000-0000-0000-0000-000000001111"); List <Func <Coupon, Guid, bool> > theList = new List <Func <Coupon, Guid, bool> >(); for (int i = 0; i < 10; i++) { CouponGuid temp = new CouponGuid(); theList.Add(temp.Evaluate); } CouponManager cm = new CouponManager(log, cp); // Apply try { Task <bool> task = cm.CanRedeemCoupon(couponId, userId, theList); task.Wait(); bool result = task.Result; // Check Assert.AreEqual(result, false); } catch (Exception e) { Assert.Fail(e.Message); } }
private void Awake() { if (Instance == null) { Instance = this; } }
public void TestCase4_CheckCouponIsNull() { // Setup MyLogger log = new MyLogger(); MyCouponProvider cp = new MyCouponProvider(); Guid couponId = new Guid("00000000-0000-0000-0000-000000002222"); Guid userId = new Guid("00000000-0000-0000-0000-000000001111"); List <Func <Coupon, Guid, bool> > theList = new List <Func <Coupon, Guid, bool> >(); for (int i = 0; i < 10; i++) { CouponGuid temp = new CouponGuid(); theList.Add(temp.Evaluate); } CouponManager cm = new CouponManager(log, cp); try { // Apply Task <bool> task = cm.CanRedeemCoupon(couponId, userId, theList); task.Wait(); bool result = task.Result; // Check Assert.Fail("Exception must be thrown"); } catch (Exception e) { Assert.IsTrue(e.Message.Contains("The given key was not present in the dictionary")); } }
public void CouponManagerCanRedeemCouponTest_ArgumentNull() { var logger = new Mock <ILogger>(); var couponProvider = new Mock <ICouponProvider>(); var couponManager = new CouponManager(logger.Object, couponProvider.Object); Assert.ThrowsAsync <ArgumentNullException>(async() => await couponManager.CanRedeemCoupon(Guid.Empty, Guid.Empty, null)); }
public bool CheckCounponOtp(string ApiKey, string Counpon, string Otp, string DealerName) { if (ApiKey != ServerConfig.ServicesApiKey) { return(false); } return(CouponManager.CheckCounponOtp(Counpon, Otp, DealerName)); }
public void CouponManagerCanRedeemCouponTest_CouponNotFound() { var logger = new Mock <ILogger>(); var couponProvider = new Mock <ICouponProvider>(); var couponManager = new CouponManager(logger.Object, couponProvider.Object); var evals = new List <Func <Coupon, Guid, bool> >(); Assert.ThrowsAsync <KeyNotFoundException>(async() => await couponManager.CanRedeemCoupon(Guid.Empty, Guid.Empty, evals)); }
void rptContents_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { var actInfo = new CouponActInfo(e.Item.DataItem); var ltlItemIndex = e.Item.FindControl("ltlItemIndex") as Literal; var ltlTitle = e.Item.FindControl("ltlTitle") as Literal; var ltlKeywords = e.Item.FindControl("ltlKeywords") as Literal; var ltlStartDate = e.Item.FindControl("ltlStartDate") as Literal; var ltlEndDate = e.Item.FindControl("ltlEndDate") as Literal; var ltlUserCount = e.Item.FindControl("ltlUserCount") as Literal; var ltlPVCount = e.Item.FindControl("ltlPVCount") as Literal; var ltlIsEnabled = e.Item.FindControl("ltlIsEnabled") as Literal; var ltlCoupons = e.Item.FindControl("ltlCoupons") as Literal; var ltlRelate = e.Item.FindControl("ltlRelate") as Literal; var ltlPreviewUrl = e.Item.FindControl("ltlPreviewUrl") as Literal; var ltlEditUrl = e.Item.FindControl("ltlEditUrl") as Literal; ltlItemIndex.Text = (e.Item.ItemIndex + 1).ToString(); ltlTitle.Text = actInfo.Title; ltlKeywords.Text = DataProviderWX.KeywordDAO.GetKeywords(actInfo.KeywordID); ltlStartDate.Text = DateUtils.GetDateAndTimeString(actInfo.StartDate); ltlEndDate.Text = DateUtils.GetDateAndTimeString(actInfo.EndDate); ltlUserCount.Text = actInfo.UserCount.ToString(); ltlPVCount.Text = actInfo.PVCount.ToString(); ltlIsEnabled.Text = StringUtils.GetTrueOrFalseImageHtml(!actInfo.IsDisabled); var couponInfoList = DataProviderWX.CouponDAO.GetCouponInfoList(PublishmentSystemID, actInfo.ID); foreach (var couponInfo in couponInfoList) { ltlCoupons.Text += $@"<a href=""{BackgroundCouponSN.GetRedirectUrl(PublishmentSystemID, couponInfo.ID, GetRedirectUrl(PublishmentSystemID))}"">{couponInfo.Title}</a> " + ","; } if (ltlCoupons.Text.Length > 0) { ltlCoupons.Text = ltlCoupons.Text.Substring(0, ltlCoupons.Text.Length - 1); } ltlRelate.Text = $@"<a href=""javascript:;"" onclick=""{Modal.CouponRelated.GetOpenWindowString( PublishmentSystemID, actInfo.ID)}"">关联优惠劵</a>"; if (couponInfoList.Count > 0) { var urlPreview = CouponManager.GetCouponHoldUrl(PublishmentSystemInfo, actInfo.ID); urlPreview = BackgroundPreview.GetRedirectUrlToMobile(urlPreview); ltlPreviewUrl.Text = $@"<a target=""_blank"" href=""{urlPreview}"">预览</a>"; } var urlEdit = BackgroundCouponActAdd.GetRedirectUrl(PublishmentSystemID, actInfo.ID); ltlEditUrl.Text = $@"<a href=""{urlEdit}"">编辑</a>"; } }
public void WhenGetCouponDiscount_IfCampaignOfCartIsNull_Expect0() { var cart = new Mock <IShoppingCartRepository>(); cart.Setup(c => c.GetCart()).Returns(new ShoppingCart()); var manager = new CouponManager(cart.Object); var result = manager.GetCouponDiscountAmountForCart(); Assert.Equal(0, result); }
public void WhenGetCouponDiscount_NotEnoughCartAmount_Expect0() { var campaignRepository = new Mock <ICampaignRepository>(); var repository = new ShoppingCartRepository(); var service = new ShoppingCartService(repository, campaignRepository.Object, _couponRepository); service.ApplyCoupon(_coupon); var manager = new CouponManager(repository); var result = manager.GetCouponDiscountAmountForCart(); Assert.Equal(0, result); }
/// <summary> /// Get All Coupons /// </summary> /// <returns></returns> private static List <CouponBusinessModel> GetAllCoupons() { var couponManager = new CouponManager(); var couponResult = couponManager.GetAllCoupons(); if (couponResult.Success) { return(couponResult.CouponList); } //Suppress the Exception for now return(new List <CouponBusinessModel>()); }
async Task LoadCoupons() { IsBusy = true; var coupons = await CouponManager.GetAsync(); Coupons.Clear(); foreach (var coupon in coupons) { Coupons.Add(coupon); } IsBusy = false; }
public void Insert(int publishmentSystemId, int couponId, int totalNum) { var couponSnList = CouponManager.GetCouponSN(totalNum); foreach (var sn in couponSnList) { string sqlString = $"INSERT INTO {TableName} (PublishmentSystemID, CouponID, SN, Status) VALUES ({publishmentSystemId}, {couponId}, '{sn}', '{ECouponStatusUtils.GetValue(ECouponStatus.Unused)}')"; ExecuteNonQuery(sqlString); } DataProviderWx.CouponDao.UpdateTotalNum(couponId, DataProviderWx.CouponSnDao.GetTotalNum(publishmentSystemId, couponId)); }
public async Task Arguments_for_the_CouponManager_class_are_validated(bool loggerIsNull, bool couponProviderIsNull, bool exceptionExpected) { var mockLogger = loggerIsNull ? null : Mock.Of <ILogger>(); var mockProvider = couponProviderIsNull ? null : Mock.Of <ICouponProvider>(); if (exceptionExpected) { Assert.ThrowsException <ArgumentNullException>(() => new CouponManager(mockLogger, mockProvider)); return; } var couponManager = new CouponManager(mockLogger, mockProvider); Assert.IsNotNull(couponManager); }
public void WhenGetCouponDiscount_GetSuccessfully() { var campaignRepository = new Mock <ICampaignRepository>(); var product = new Product("Iphone 5S", 1000, new Category("Phone")); var repository = new ShoppingCartRepository(); var service = new ShoppingCartService(repository, campaignRepository.Object, _couponRepository); service.AddItem(product, 1); service.ApplyCoupon(_coupon); var expectedDiscount = 100; var manager = new CouponManager(repository); var couponDiscount = manager.GetCouponDiscountAmountForCart(); Assert.Equal(expectedDiscount, couponDiscount); }
public async Task CanRedeemCoupon_Should_ThrowException_When_Evaluators_Is_Null() { //Arrange Mock <ILogger> logger = new Mock <ILogger>(); Mock <ICouponProvider> couponProvider = new Mock <ICouponProvider>(); //Assign var couponManager = new CouponManager(logger.Object, couponProvider.Object); var couponGuid = Guid.NewGuid(); var userId = Guid.NewGuid(); var exception = await Assert.ThrowsAsync <ArgumentNullException>(() => couponManager.CanRedeemCoupon(couponGuid, userId, null)); //Assert Assert.Equal("Value cannot be null. (Parameter 'evaluators')", exception.Message); }
public async Task Throw_Exception_When_Evaluators_Null() { //Arrange var mockLogger = new Mock <ILogger>(); var mockCouponProvider = new Mock <ICouponProvider>(); var couponId = new Guid(); var userId = new Guid(); var manager = new CouponManager(mockLogger.Object, mockCouponProvider.Object); IEnumerable <Func <Coupon, Guid, bool> > evaluators = null; //Act var exception = await Assert.ThrowsAsync <ArgumentNullException>(() => manager.CanRedeemCoupon(couponId, userId, evaluators)); //Assert Assert.Equal(nameof(evaluators), exception.ParamName); }
public async Task CanRedeemCoupon_Should_ThrowException_When_Coupon_Is_Null() { //Arrange Mock <ICouponProvider> couponProvider = new Mock <ICouponProvider>(); Mock <IEnumerable <Func <Coupon, Guid, bool> > > evaluators = new Mock <IEnumerable <Func <Coupon, Guid, bool> > >(); Mock <ILogger> logger = new Mock <ILogger>(); couponProvider.Setup(x => x.Retrieve(It.IsAny <Guid>())) .Returns(Task.FromResult <Coupon>(null)); //Assign var couponManager = new CouponManager(logger.Object, couponProvider.Object); var couponGuid = Guid.NewGuid(); var userId = Guid.NewGuid(); //Assert await Assert.ThrowsAsync <KeyNotFoundException>(() => couponManager.CanRedeemCoupon(couponGuid, userId, evaluators.Object)); }
public async Task Throw_Exception_When_Retrieved_Coupon_Null() { //Arrange var couponId = new Guid(); var userId = new Guid(); var mockLogger = new Mock <ILogger>(); var mockEvaluators = new List <Func <Coupon, Guid, bool> >(); var mockCouponProvider = new Mock <ICouponProvider>(); mockCouponProvider .Setup(provider => provider.Retrieve(couponId)) .ReturnsAsync(() => null); var manager = new CouponManager(mockLogger.Object, mockCouponProvider.Object); //Act Assert await Assert.ThrowsAsync <KeyNotFoundException>(() => manager.CanRedeemCoupon(couponId, userId, mockEvaluators)); }
public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; } PageUtils.CheckRequestParameter("PublishmentSystemId"); _scenceId = Body.GetQueryInt("scenceID"); if (!IsPostBack) { var pageTitle = _scenceId > 0 ? "编辑站点场景" : "添加站点场景"; //base.BreadCrumbConsole(AppManager.CMS.LeftMenu.Id_Site, pageTitle, AppManager.Permission.Platform_Site); LtlPageTitle.Text = pageTitle; LtlImageUrl.Text = $@"<img id=""preview_imageUrl"" src=""{CouponManager.GetImageUrl(PublishmentSystemInfo, string.Empty)}"" width=""370"" align=""middle"" />"; if (_scenceId > 0) { var scenceInfo = DataProviderWx.ScenceDao.GetScenceInfo(_scenceId); TbKeywords.Text = DataProviderWx.KeywordDao.GetKeywords(scenceInfo.KeywordId); CbIsEnabled.Checked = !scenceInfo.IsDisabled; DtbStartDate.DateTime = scenceInfo.StartDate; DtbEndDate.DateTime = scenceInfo.EndDate; TbTitle.Text = scenceInfo.Title; if (!string.IsNullOrEmpty(scenceInfo.ImageUrl)) { LtlImageUrl.Text = $@"<img id=""preview_imageUrl"" src=""{PageUtility.ParseNavigationUrl( PublishmentSystemInfo, scenceInfo.ImageUrl)}"" width=""370"" align=""middle"" />"; } TbSummary.Text = scenceInfo.Summary; } else { DtbEndDate.DateTime = DateTime.Now.AddMonths(1); } } }
public void ApplyDiscount_Ensure_Expected_Discount_Applied_Returns_True( string productName, string productDesc, double productUnitPrice, int productQuantity, double discount, DiscountType discountType, double minPurchaseAmount, double expectedResult) { var cart = new Cart(); // -- create product var product = new Product(productName, productDesc, productUnitPrice, _categoryTech); _shoppingCart = new ShoppingCartManager(cart); _shoppingCart.AddItem(product, productQuantity); // -- apply coupon var coupon = new Coupon(discount, minPurchaseAmount, discountType); cart.CartCoupons.Add(coupon); var result = new CouponManager(cart).ApplyDiscount(); Assert.AreEqual(result, expectedResult); }
public void Setup() { couponManager = new CouponManager(mockLogger.Object, mockCouponProvider.Object); coupon = new Coupon(); emptyEvaluator = new List <Func <Coupon, Guid, bool> >(); sucessEvaluators = new List <Func <Coupon, Guid, bool> >() { (c, g) => { return(true); }, (c, g) => { return(false); } }; failEvaluators = new List <Func <Coupon, Guid, bool> >() { (c, g) => { return(false); }, (c, g) => { return(false); } }; }
public async Task CanRedeemCoupon_Should_Return_True_When_No_Evaluators() { //Arrange Mock <ICouponProvider> couponProvider = new Mock <ICouponProvider>(); couponProvider.Setup(x => x.Retrieve(It.IsAny <Guid>())) .Returns(Task.FromResult(new Coupon())); IEnumerable <Func <Coupon, Guid, bool> > evaluators = new List <Func <Coupon, Guid, bool> >(); Mock <ILogger> logger = new Mock <ILogger>(); //Assign var couponManager = new CouponManager(logger.Object, couponProvider.Object); var couponGuid = Guid.NewGuid(); var userId = Guid.NewGuid(); var canRedeemCoupon = await couponManager.CanRedeemCoupon(couponGuid, userId, evaluators); //Assert Assert.True(canRedeemCoupon); }
public async Task Return_True_When_Evaluators_Empty() { //Arrange var couponId = new Guid(); var userId = new Guid(); var mockLogger = new Mock <ILogger>(); var mockEvaluators = new List <Func <Coupon, Guid, bool> >(); var mockCouponProvider = new Mock <ICouponProvider>(); mockCouponProvider .Setup(provider => provider.Retrieve(couponId)) .ReturnsAsync(() => new Coupon()); var manager = new CouponManager(mockLogger.Object, mockCouponProvider.Object); //Act var result = await manager.CanRedeemCoupon(couponId, userId, mockEvaluators); //Assert Assert.True(result); }