feat(medusa): Configurable returnable_items on order decorate totals (#3276)

This commit is contained in:
Adrien de Peretti
2023-02-21 14:48:49 +01:00
committed by GitHub
parent b393d74a10
commit d11ab924b8
36 changed files with 673 additions and 307 deletions

View File

@@ -292,46 +292,3 @@ Array [
]
`;
exports[`/admin/price-lists POST /admin/price-lists/:id/prices/batch Adds a batch of new prices where a MA record have a \`region_id\` instead of \`currency_code\` 1`] = `
Array [
Object {
"amount": 70,
"created_at": Any<String>,
"currency_code": "usd",
"deleted_at": null,
"id": "ma_test_4",
"max_quantity": null,
"min_quantity": null,
"price_list_id": "pl_with_some_ma",
"region_id": null,
"updated_at": Any<String>,
"variant_id": "test-variant",
},
Object {
"amount": 100,
"created_at": Any<String>,
"currency_code": "eur",
"deleted_at": null,
"id": Any<String>,
"max_quantity": null,
"min_quantity": null,
"price_list_id": "pl_with_some_ma",
"region_id": "region-pl",
"updated_at": Any<String>,
"variant_id": "test-variant",
},
Object {
"amount": 200,
"created_at": Any<String>,
"currency_code": "usd",
"deleted_at": null,
"id": Any<String>,
"max_quantity": null,
"min_quantity": null,
"price_list_id": "pl_with_some_ma",
"region_id": null,
"updated_at": Any<String>,
"variant_id": "test-variant",
},
]
`;

View File

@@ -859,45 +859,47 @@ describe("/admin/price-lists", () => {
expect(response.status).toEqual(200)
expect(response.data.price_list.prices.length).toEqual(3) // initially this PL has 1 MA record
expect(response.data.price_list.prices).toMatchSnapshot([
{
id: "ma_test_4",
currency_code: "usd",
amount: 70,
price_list_id: "pl_with_some_ma",
variant_id: "test-variant",
region_id: null,
created_at: expect.any(String),
updated_at: expect.any(String),
deleted_at: null,
},
{
id: expect.any(String),
currency_code: "eur",
amount: 100,
min_quantity: null,
max_quantity: null,
price_list_id: "pl_with_some_ma",
variant_id: "test-variant",
region_id: "region-pl",
created_at: expect.any(String),
updated_at: expect.any(String),
deleted_at: null,
},
{
id: expect.any(String),
currency_code: "usd",
amount: 200,
min_quantity: null,
max_quantity: null,
price_list_id: "pl_with_some_ma",
variant_id: "test-variant",
region_id: null,
created_at: expect.any(String),
updated_at: expect.any(String),
deleted_at: null,
},
])
expect(response.data.price_list.prices).toEqual(
expect.arrayContaining([
expect.objectContaining({
id: "ma_test_4",
currency_code: "usd",
amount: 70,
price_list_id: "pl_with_some_ma",
variant_id: "test-variant",
region_id: null,
created_at: expect.any(String),
updated_at: expect.any(String),
deleted_at: null,
}),
expect.objectContaining({
id: expect.any(String),
currency_code: "usd",
amount: 200,
min_quantity: null,
max_quantity: null,
price_list_id: "pl_with_some_ma",
variant_id: "test-variant",
region_id: null,
created_at: expect.any(String),
updated_at: expect.any(String),
deleted_at: null,
}),
expect.objectContaining({
id: expect.any(String),
currency_code: "eur",
amount: 100,
min_quantity: null,
max_quantity: null,
price_list_id: "pl_with_some_ma",
variant_id: "test-variant",
region_id: "region-pl",
created_at: expect.any(String),
updated_at: expect.any(String),
deleted_at: null,
}),
])
)
})
})

View File

@@ -301,7 +301,7 @@ describe("/admin/swaps", () => {
// ********* CREATE SWAP *********
const createSwap = await api.post(
`/admin/orders/${completedOrder.data.data.id}/swaps`,
`/admin/orders/${completedOrder.data.data.id}/swaps?fields=returnable_items`,
{
return_items: [
{
@@ -318,6 +318,13 @@ describe("/admin/swaps", () => {
}
)
expect(createSwap.data.order.returnable_items).toHaveLength(1)
expect(createSwap.data.order.returnable_items[0]).toEqual(
expect.objectContaining({
id: "line-item",
})
)
let swap = createSwap.data.order.swaps[0]
// ********* PREPARE SWAP CART *********
@@ -349,7 +356,7 @@ describe("/admin/swaps", () => {
{}
)
// ********* VALIDATE *********
// ********* VALIDATE *********
expect(swap.data.swap.difference_due).toBe(swapCart.data.cart.total)
})
})