UNPKG

beerbay-math

Version:

53 lines (48 loc) 2.28 kB
"use strict"; var _coupon = require("./coupon"); var _coupon2 = require("./mock/coupon"); var _cart = require("./mock/cart"); var _countries = require("./mock/countries"); var SPAIN = _countries.MOCK_SHIPPING_COUNTRIES[0]; var ITALY = _countries.MOCK_SHIPPING_COUNTRIES[1]; describe("isCouponActive", function () { test("inactive coupon", function () { expect((0, _coupon.isCouponActive)(_coupon2.INACTIVE_COUPON)).toBe(false); }); test("active coupon", function () { expect((0, _coupon.isCouponActive)(_coupon2.FREE_SHIPPING_SPAIN_COUPON)).toBe(true); }); }); describe("isCouponUsable", function () { test("inactive coupon is not usable", function () { expect((0, _coupon.isCouponUsable)(_coupon2.INACTIVE_COUPON)).toBe(false); }); test("Coupon never used is usable", function () { expect((0, _coupon.isCouponUsable)(_coupon2.USD_10_COUPON, _coupon2.MOCK_USER)).toBe(true); }); test("Coupon used too many time is not usable", function () { expect((0, _coupon.isCouponUsable)(_coupon2.ALREADY_USED_BY_USER_COUPON, _coupon2.MOCK_USER)).toBe(false); }); test("Underused Coupon is usable another time", function () { expect((0, _coupon.isCouponUsable)(_coupon2.UNDERUSED_COUPON_10_USD, _coupon2.MOCK_USER)).toBe(true); }); test("Used Coupon is not usable anymore", function () { expect((0, _coupon.isCouponUsable)(_coupon2.USED_COUPON_10_USD, _coupon2.MOCK_USER)).toBe(false); }); }); describe("isFreeShipping", function () { test("It's free shipping in spain", function () { expect((0, _coupon.isFreeShipping)(_cart.MOCK_CART, SPAIN, _coupon2.FREE_SHIPPING_SPAIN_COUPON, _coupon2.MOCK_USER)).toBe(true); }); test("It's not free shipping in italy", function () { expect((0, _coupon.isFreeShipping)(_cart.MOCK_CART, ITALY, _coupon2.FREE_SHIPPING_SPAIN_COUPON, _coupon2.MOCK_USER)).toBe(false); }); }); describe("getCouponValue", function () { test("percentage coupon value", function () { expect((0, _coupon.getCouponValue)(_cart.MOCK_CART, SPAIN, _coupon2.PERCENTAGE_20_COUPON, _coupon2.MOCK_USER)).toBe(14.64); }); test("flat 10 usd coupon value", function () { expect((0, _coupon.getCouponValue)(_cart.MOCK_CART, SPAIN, _coupon2.USD_10_COUPON, _coupon2.MOCK_USER)).toBe(10.0); }); });