public void Incentive_Should_Throw_When_MinItems_IsMore_Than_OrderItems() { Order order = GetTestOrder(); Incentive i = new Incentive("XYZ", new PercentOffOrderCoupon(10), DateTime.Now.AddDays(1)); i.MinimumItems = 5; bool thrown = false; try { i.ValidateUse(order); } catch(Exception x) { thrown = true; Assert.AreEqual("There is a minimum of " + i.MinimumItems.ToString() + " items required",x.Message); } Assert.IsTrue(thrown); }
public void Incentive_Should_Throw_When_MustHaveProducts_Include_SKU10000() { Order order = GetTestOrder(); Incentive i = new Incentive("XYZ", new PercentOffOrderCoupon(10), DateTime.Now.AddDays(1)); i.MustHaveProducts =new string[]{"SKU10000"}; bool thrown = false; try { i.ValidateUse(order); } catch (Exception x) { thrown = true; Assert.AreEqual("This coupon is not valid for the items you've selected", x.Message); } Assert.IsTrue(thrown); }
public void Incentive_Should_Throw_When_Exipired() { Order order = GetTestOrder(); //DateTime.Now will always be expired Incentive i = new Incentive("XYZ", new PercentOffOrderCoupon(10), DateTime.Now); bool thrown = false; try { i.ValidateUse(order); } catch (Exception x) { thrown = true; Assert.AreEqual("This coupon is Expired", x.Message); } Assert.IsTrue(thrown); }
public void Incentive_Should_NotThrow_When_MustHaveProducts_Include_SKU1() { Order order = GetTestOrder(); Incentive i = new Incentive("XYZ", new PercentOffOrderCoupon(10), DateTime.Now.AddDays(1)); i.MustHaveProducts = new string[] { "SKU1" }; bool thrown = false; try { i.ValidateUse(order); } catch { thrown = true; } Assert.IsFalse(thrown); }
public void Incentive_Should_Throw_When_MinPurchase_IsMore_Than_OrderSubTotal() { Order order = GetTestOrder(); Incentive i = new Incentive("XYZ", new PercentOffOrderCoupon(10), DateTime.Now.AddDays(1)); //order subtotal is 40 i.MininumPurchase = 100; bool thrown = false; try { i.ValidateUse(order); } catch (Exception x) { thrown = true; Assert.AreEqual("There is a minimum of " + i.MininumPurchase.ToString("C") + " required", x.Message); } Assert.IsTrue(thrown); }