beerbay-math
Version:
234 lines (228 loc) • 6.04 kB
JavaScript
"use strict";
var _cart = require("./mock/cart");
var _countries = require("./mock/countries");
var _coupon = require("./mock/coupon");
var _stripe = require("./stripe");
var SELECTED_COUNTRY = _countries.MOCK_SHIPPING_COUNTRIES[0]; //Spain
describe("Test for Stripe", function () {
test("cartToLineItems includes shipping fee to product list", function () {
expect((0, _stripe.cartToLineItems)(_cart.MOCK_CART, SELECTED_COUNTRY)).toStrictEqual([{
price_data: {
currency: "eur",
product_data: {
name: "A&H The Funky Saison 75 cl."
},
unit_amount: 1220
},
quantity: 3
}, {
price_data: {
currency: "eur",
product_data: {
name: "A&H The Funky Saison 75 cl."
},
unit_amount: 1220
},
quantity: 3
}, {
price_data: {
currency: "eur",
product_data: {
name: "Shipping Fees"
},
unit_amount: 495
},
quantity: 1
}]);
});
test("cartToLineItems does not includes shipping fee to product list when a free shipping coupon is applied", function () {
expect((0, _stripe.cartToLineItems)(_cart.MOCK_CART, SELECTED_COUNTRY, _coupon.FREE_SHIPPING_SPAIN_COUPON)).toStrictEqual([{
price_data: {
currency: "eur",
product_data: {
name: "A&H The Funky Saison 75 cl."
},
unit_amount: 1220
},
quantity: 3
}, {
price_data: {
currency: "eur",
product_data: {
name: "A&H The Funky Saison 75 cl."
},
unit_amount: 1220
},
quantity: 3
}]);
});
test("cartToLineItems product list has the correct single product price with high quantity when applying flat coupon", function () {
expect((0, _stripe.cartToLineItems)(_cart.MOCK_25_ITEMS_CART, SELECTED_COUNTRY, _coupon.USD_10_COUPON)).toStrictEqual([{
price_data: {
currency: "eur",
product_data: {
name: "A&H The Funky Saison 75 cl."
},
unit_amount: 402
},
quantity: 25
}, {
price_data: {
currency: "eur",
product_data: {
name: "Shipping Fees"
},
unit_amount: 495
},
quantity: 1
}]);
});
test("cartToLineItems product list has the correct single product price when applying a percentage coupon", function () {
expect((0, _stripe.cartToLineItems)(_cart.MOCK_25_ITEMS_CART, SELECTED_COUNTRY, _coupon.PERCENTAGE_20_COUPON)).toStrictEqual([{
price_data: {
currency: "eur",
product_data: {
name: "A&H The Funky Saison 75 cl."
},
unit_amount: 354
},
quantity: 25
}, {
price_data: {
currency: "eur",
product_data: {
name: "Shipping Fees"
},
unit_amount: 495
},
quantity: 1
}]);
});
test("cartToLineItems product list has the correct product price when applying percentage coupon", function () {
expect((0, _stripe.cartToLineItems)(_cart.MOCK_CART, SELECTED_COUNTRY, _coupon.PERCENTAGE_20_COUPON)).toStrictEqual([{
price_data: {
currency: "eur",
product_data: {
name: "A&H The Funky Saison 75 cl."
},
unit_amount: 976
},
quantity: 3
}, {
price_data: {
currency: "eur",
product_data: {
name: "A&H The Funky Saison 75 cl."
},
unit_amount: 976
},
quantity: 3
}, {
price_data: {
currency: "eur",
product_data: {
name: "Shipping Fees"
},
unit_amount: 495
},
quantity: 1
}]);
});
test("cartToLineItems product list has the correct product price when applying flat coupon", function () {
expect((0, _stripe.cartToLineItems)(_cart.MOCK_CART, SELECTED_COUNTRY, _coupon.USD_10_COUPON)).toStrictEqual([{
price_data: {
currency: "eur",
product_data: {
name: "A&H The Funky Saison 75 cl."
},
unit_amount: 1053
},
quantity: 3
}, {
price_data: {
currency: "eur",
product_data: {
name: "A&H The Funky Saison 75 cl."
},
unit_amount: 1053
},
quantity: 3
}, {
price_data: {
currency: "eur",
product_data: {
name: "Shipping Fees"
},
unit_amount: 495
},
quantity: 1
}]);
});
test("cartToLineItems product list has the correct product price when a product has a low price", function () {
expect((0, _stripe.cartToLineItems)(_cart.MOCK_CART_2, SELECTED_COUNTRY, _coupon.USD_10_COUPON)).toStrictEqual([{
price_data: {
currency: "eur",
product_data: {
name: "A&H The Funky Saison 75 cl."
},
unit_amount: 833
},
quantity: 5
}, {
price_data: {
currency: "eur",
product_data: {
name: "A&H The Funky Saison 75 cl."
},
unit_amount: 171
},
quantity: 1
}, {
price_data: {
currency: "eur",
product_data: {
name: "Shipping Fees"
},
unit_amount: 495
},
quantity: 1
}]);
});
expect((0, _stripe.cartToLineItems)(_cart.MOCK_CART_3, SELECTED_COUNTRY, _coupon.USD_10_COUPON)).toStrictEqual([{
price_data: {
currency: "eur",
product_data: {
name: "A&H The Funky Saison 75 cl."
},
unit_amount: 868
},
quantity: 5
}, {
price_data: {
currency: "eur",
product_data: {
name: "A&H The Funky Saison 75 cl."
},
unit_amount: 508
},
quantity: 2
}, {
price_data: {
currency: "eur",
product_data: {
name: "A&H The Funky Saison 75 cl."
},
unit_amount: 178
},
quantity: 1
}, {
price_data: {
currency: "eur",
product_data: {
name: "Shipping Fees"
},
unit_amount: 495
},
quantity: 1
}]);
});