feat: Add support for shipping options prices update (#7028)

This commit is contained in:
Adrien de Peretti
2024-04-11 18:34:55 +02:00
committed by GitHub
parent 51acd1da5b
commit c78915c7c5
13 changed files with 450 additions and 77 deletions
@@ -264,7 +264,7 @@ medusaIntegrationTestRunner({
})
})
it("should create a shipping option successfully", async () => {
it("should update a shipping option successfully", async () => {
const shippingOptionPayload = {
name: "Test shipping option",
service_zone_id: fulfillmentSet.service_zones[0].id,
@@ -295,15 +295,44 @@ medusaIntegrationTestRunner({
adminHeaders
)
expect(response.status).toEqual(200)
expect(response.data.shipping_option).toEqual(
const shippingOptionId = response.data.shipping_option.id
const eurPrice = response.data.shipping_option.prices.find(
(p) => p.currency_code === "eur"
)
const updateShippingOptionPayload = {
id: shippingOptionId,
name: "Updated shipping option",
provider_id: "manual_test-provider",
price_type: "flat",
prices: [
{
currency_code: "dkk",
amount: 10,
},
{
id: eurPrice.id,
amount: 10000,
},
],
}
const updateResponse = await api.post(
`/admin/shipping-options/${shippingOptionId}`,
updateShippingOptionPayload,
adminHeaders
)
expect(updateResponse.status).toEqual(200)
expect(updateResponse.data.shipping_option.prices).toHaveLength(2)
expect(updateResponse.data.shipping_option).toEqual(
expect.objectContaining({
id: expect.any(String),
name: shippingOptionPayload.name,
name: updateShippingOptionPayload.name,
provider: expect.objectContaining({
id: shippingOptionPayload.provider_id,
}),
price_type: shippingOptionPayload.price_type,
price_type: updateShippingOptionPayload.price_type,
type: expect.objectContaining({
id: expect.any(String),
label: shippingOptionPayload.type.label,
@@ -315,13 +344,15 @@ medusaIntegrationTestRunner({
prices: expect.arrayContaining([
expect.objectContaining({
id: expect.any(String),
currency_code: "usd",
amount: 1000,
currency_code: "dkk",
rules_count: 0,
amount: 10,
}),
expect.objectContaining({
id: expect.any(String),
currency_code: "eur",
amount: 1000,
rules_count: 1,
amount: 10000,
}),
]),
rules: expect.arrayContaining([