Merge branch 'master' into develop

This commit is contained in:
olivermrbl
2022-06-19 12:59:08 +02:00
56 changed files with 2304 additions and 676 deletions
+51 -12
View File
@@ -486,7 +486,8 @@ describe("/store/carts", () => {
regions: ["test-region"],
}
let discountCart, discount
let discountCart
let discount
beforeEach(async () => {
try {
discount = await simpleDiscountFactory(
@@ -718,15 +719,17 @@ describe("/store/carts", () => {
)
.catch((err) => console.log(err))
expect(response.data.cart.items).toEqual([
expect.objectContaining({
cart_id: "test-cart-3",
unit_price: 8000,
variant_id: "test-variant-sale-cg",
quantity: 3,
adjustments: [],
}),
])
expect(response.data.cart.items).toEqual(
expect.arrayContaining([
expect.objectContaining({
cart_id: "test-cart-3",
unit_price: 8000,
variant_id: "test-variant-sale-cg",
quantity: 3,
adjustments: [],
}),
])
)
})
it("updates line item of a cart containing a total fixed discount", async () => {
@@ -1363,7 +1366,14 @@ describe("/store/carts", () => {
.catch((error) => console.log(error))
expect(response.status).toEqual(200)
expect(response.data.cart.items[0].unit_price).toEqual(500)
expect(response.data.cart.items).toEqual(
expect.arrayContaining([
expect.objectContaining({
variant_id: "test-variant-sale-cg",
unit_price: 500,
}),
])
)
})
it("updates prices when cart region id is updated", async () => {
@@ -1479,11 +1489,38 @@ describe("/store/carts", () => {
const getRes = await api.post(`/store/carts/test-cart-2/complete-cart`)
expect(getRes.status).toEqual(200)
expect(getRes.data.type).toEqual("order")
const variantRes = await api.get("/store/variants/test-variant")
expect(variantRes.data.variant.inventory_quantity).toEqual(0)
})
it("calculates correct payment totals on cart completion taking into account line item adjustments", async () => {
const api = useApi()
await api.post("/store/carts/test-cart-3", {
discounts: [{ code: "CREATED" }],
})
const createdOrder = await api.post(
`/store/carts/test-cart-3/complete-cart`
)
expect(createdOrder.data.type).toEqual("order")
expect(createdOrder.data.data.discount_total).toEqual(10000)
expect(createdOrder.data.data.subtotal).toEqual(16000)
expect(createdOrder.data.data.total).toEqual(6000)
expect(createdOrder.data.data.payments).toEqual(
expect.arrayContaining([
expect.objectContaining({
amount: 6000,
}),
])
)
expect(createdOrder.status).toEqual(200)
})
it("returns early, if cart is already completed", async () => {
const manager = dbConnection.manager
const api = useApi()
@@ -1739,7 +1776,9 @@ describe("/store/carts", () => {
.catch((err) => console.log(err))
// Ensure that the discount is only applied to the standard item
const itemId = cartWithGiftcard.data.cart.items.find(item => !item.is_giftcard).id
const itemId = cartWithGiftcard.data.cart.items.find(
(item) => !item.is_giftcard
).id
expect(cartWithGiftcard.data.cart.items).toEqual(
expect.arrayContaining([
expect.objectContaining({
+19 -1
View File
@@ -50,6 +50,7 @@ module.exports = async (connection, data = {}) => {
const r = manager.create(Region, {
id: "test-region",
name: "Test Region",
payment_providers: [{ id: "test-pay" }],
currency_code: "usd",
tax_rate: 0,
})
@@ -819,6 +820,23 @@ module.exports = async (connection, data = {}) => {
completed_at: null,
items: [],
})
await manager.save(cart3)
const ps = manager.create(PaymentSession, {
id: "test-cart-session",
cart_id: "test-cart-3",
provider_id: "test-pay",
is_selected: true,
data: {},
status: "authorized",
})
await manager.save(ps)
cart3.payment_sessions = [ps]
cart3.payment_session = ps
await manager.save(cart3)
await manager.insert(ShippingMethod, {
@@ -842,7 +860,7 @@ module.exports = async (connection, data = {}) => {
await manager.save(li2)
const cart4 = manager.create(Cart, {
id: "test-cart-3",
id: "test-cart-4",
email: "some-customer@email.com",
shipping_address: {
id: "test-shipping-address",