public void IssueDiscountBadPostTest()
 {
     var mock = new Mock<IDiscountService>();
     discountTest.discountService = mock.Object;
     // create coupon
     coupon = User_DiscountTest.CreateCoupon();
     // set DiscountCode to null
     coupon.DiscountCode = null;
     mock.Setup(mockObject => mockObject.CreateCoupon(coupon)).Returns(badCoupon);
     // cast ActionResult to JsonResult, pull data, cast to UserDiscount
     var json = ((JsonResult)discountTest.IssueDiscount(coupon));
     //
     Assert.IsInstanceOfType(json, typeof(JsonResult));
 }
Пример #2
0
 /// <summary>
 /// Create and submit coupon
 /// </summary>
 /// <param name="coupon">Coupon without code</param>
 /// <returns>Coupon with code</returns>
 public UserDiscount CreateCoupon(UserDiscount coupon)
 {
     // generate five digit coupon code
     if (coupon.StartDate < coupon.EndDate &&
         (coupon.DiscountRate > 0 && coupon.DiscountRate < 100))
     {
         coupon.DiscountCode = couponUtility.GenerateCoupon();
         using (var ctx = dbContext)
         {
             // add coupon to context
             var userCoupons = ctx.UserDiscounts().Add(coupon);
             // save changes to context (saves to DB!)
             ctx.SaveChanges();
         }
     }
     return coupon;
 }
Пример #3
0
 public ActionResult IssueDiscount(UserDiscount coupon)
 {
     // returns a coupon, hopefully with created date!
     UserDiscount returnedDiscount;
     if (this.ModelState.IsValid)
     {
         returnedDiscount = discountService.CreateCoupon(coupon);
     }
     else
     {
         returnedDiscount = coupon;
     }
     return Json(new
     {
         UserDiscountId = coupon.UserDiscountId,
         DiscountRate = coupon.DiscountRate,
         StartDate = coupon.StartDate,
         EndDate = coupon.EndDate,
         DiscountCode = coupon.DiscountCode,
         UserId = coupon.UserId,
     });
 }
Пример #4
0
 /// <summary>
 /// Set fields on all coupon objects
 /// </summary>
 /// <returns></returns>
 public static UserDiscount CreateCoupon()
 {
     UserDiscount coupon = new UserDiscount();
     UserDiscountUtility udc = new UserDiscountUtility();
     coupon.DiscountRate = 20;
     coupon.EndDate = DateTime.Now.AddDays(1);
     coupon.StartDate = DateTime.Now;
     coupon.UserDiscountId = 0;
     coupon.UserId = 10;
     coupon.Reedemed = false;
     coupon.DiscountCode = udc.GenerateCoupon();
     return coupon;
 }
 public void Setup()
 {
     discountTest = new DiscountController();
     coupon = new UserDiscount();
     badCoupon = User_DiscountTest.CreateCoupon();
     badCoupon.DiscountCode = null;
 }
Пример #6
0
        /// <summary>
        /// Mark Inputted coupon as redeemed.
        /// </summary>
        /// <returns>UserDisount</returns>
        /// <author>Paul Wroe</author>
        public virtual UserDiscount RedeemCoupon(UserDiscount coupon, out bool isSuccess)
        {
            isSuccess = false;

                // add coupon to context
                List<UserDiscount> userCoupon = GetCouponList(coupon);
                if (userCoupon.Count != 0)
                {
                    var theCoupon = userCoupon[0];
                    theCoupon.Reedemed = true;
                    dbContext.SaveChanges();
                    isSuccess = true;

            }
            return coupon;
        }
Пример #7
0
 /// <summary>
 /// Returns a matching UserDiscount from the database
 /// </summary>
 /// <param name="coupon"></param>
 /// <returns></returns>
 public virtual List<UserDiscount> GetCouponList(UserDiscount coupon)
 {
     return dbContext.UserDiscounts().Where(p => p.UserDiscountId == coupon.UserDiscountId).ToList();
 }
Пример #8
0
 public void Setup()
 {
     couponList = new List<UserDiscount>();
     discountService = (DiscountService)DiscountService.GetInstance();
     userDiscount = User_DiscountTest.CreateCoupon();
     couponList.Add(coupon);
     isSuccess = false;
     error = null;
     discountService.couponUtility = mockUserDiscountUtility.Object;
     discountService.dbContext = mockContext.Object;
 }