fix(core-flows): select stock locations for reservation from correct SC (#10661)
* fix: add stock location for reservations only if related to correct SC * fix: update spec * fix: wrong SC id get in OE flow * fix: ensure test case has multiple SC and SLs
This commit is contained in:
1 parent
8650e6178e
commit
fc321e96ce
5 files changed
+52
-3
No files matched your search
@@ -2116,6 +2116,7 @@ medusaIntegrationTestRunner({
|
|||||||
])
|
])
|
||||||
|
|
||||||
let cart = await cartModuleService.createCarts({
|
let cart = await cartModuleService.createCarts({
|
||||||
|
sales_channel_id: salesChannel.id,
|
||||||
currency_code: "usd",
|
currency_code: "usd",
|
||||||
items: [
|
items: [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1117,6 +1117,14 @@ medusaIntegrationTestRunner({
|
|||||||
)
|
)
|
||||||
).data.sales_channel
|
).data.sales_channel
|
||||||
|
|
||||||
|
const salesChannel2 = (
|
||||||
|
await api.post(
|
||||||
|
"/admin/sales-channels",
|
||||||
|
{ name: "second channel", description: "channel" },
|
||||||
|
adminHeaders
|
||||||
|
)
|
||||||
|
).data.sales_channel
|
||||||
|
|
||||||
stockLocation = (
|
stockLocation = (
|
||||||
await api.post(
|
await api.post(
|
||||||
`/admin/stock-locations`,
|
`/admin/stock-locations`,
|
||||||
@@ -1125,6 +1133,14 @@ medusaIntegrationTestRunner({
|
|||||||
)
|
)
|
||||||
).data.stock_location
|
).data.stock_location
|
||||||
|
|
||||||
|
const stockLocation2 = (
|
||||||
|
await api.post(
|
||||||
|
`/admin/stock-locations`,
|
||||||
|
{ name: "test location 2" },
|
||||||
|
adminHeaders
|
||||||
|
)
|
||||||
|
).data.stock_location
|
||||||
|
|
||||||
inventoryItem = (
|
inventoryItem = (
|
||||||
await api.post(
|
await api.post(
|
||||||
`/admin/inventory-items`,
|
`/admin/inventory-items`,
|
||||||
@@ -1144,12 +1160,27 @@ medusaIntegrationTestRunner({
|
|||||||
adminHeaders
|
adminHeaders
|
||||||
)
|
)
|
||||||
|
|
||||||
|
await api.post(
|
||||||
|
`/admin/inventory-items/${inventoryItem.id}/location-levels`,
|
||||||
|
{
|
||||||
|
location_id: stockLocation2.id,
|
||||||
|
stocked_quantity: 10,
|
||||||
|
},
|
||||||
|
adminHeaders
|
||||||
|
)
|
||||||
|
|
||||||
await api.post(
|
await api.post(
|
||||||
`/admin/stock-locations/${stockLocation.id}/sales-channels`,
|
`/admin/stock-locations/${stockLocation.id}/sales-channels`,
|
||||||
{ add: [salesChannel.id] },
|
{ add: [salesChannel.id] },
|
||||||
adminHeaders
|
adminHeaders
|
||||||
)
|
)
|
||||||
|
|
||||||
|
await api.post(
|
||||||
|
`/admin/stock-locations/${stockLocation2.id}/sales-channels`,
|
||||||
|
{ add: [salesChannel2.id] },
|
||||||
|
adminHeaders
|
||||||
|
)
|
||||||
|
|
||||||
shippingProfile = await fulfillmentModule.createShippingProfiles({
|
shippingProfile = await fulfillmentModule.createShippingProfiles({
|
||||||
name: "Test",
|
name: "Test",
|
||||||
type: "default",
|
type: "default",
|
||||||
@@ -1210,6 +1241,23 @@ medusaIntegrationTestRunner({
|
|||||||
fulfillment_set_id: fulfillmentSet.id,
|
fulfillment_set_id: fulfillmentSet.id,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
[Modules.PRODUCT]: {
|
||||||
|
product_id: product.id,
|
||||||
|
},
|
||||||
|
[Modules.SALES_CHANNEL]: {
|
||||||
|
sales_channel_id: salesChannel2.id,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// Add product to 2 sales channels to test that the right stock location is selected for reservations
|
||||||
|
{
|
||||||
|
[Modules.PRODUCT]: {
|
||||||
|
product_id: product.id,
|
||||||
|
},
|
||||||
|
[Modules.SALES_CHANNEL]: {
|
||||||
|
sales_channel_id: salesChannel.id,
|
||||||
|
},
|
||||||
|
},
|
||||||
])
|
])
|
||||||
|
|
||||||
promotion = (
|
promotion = (
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ export const prepareConfirmInventoryInput = (data: {
|
|||||||
hasSalesChannelStockLocation = true
|
hasSalesChannelStockLocation = true
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stock_locations) {
|
if (stock_locations && sales_channels?.id === salesChannelId) {
|
||||||
stockLocationIds.add(stock_locations.id)
|
stockLocationIds.add(stock_locations.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import {
|
|||||||
import {
|
import {
|
||||||
Modules,
|
Modules,
|
||||||
OrderStatus,
|
OrderStatus,
|
||||||
OrderWorkflowEvents
|
OrderWorkflowEvents,
|
||||||
} from "@medusajs/framework/utils"
|
} from "@medusajs/framework/utils"
|
||||||
import {
|
import {
|
||||||
createWorkflow,
|
createWorkflow,
|
||||||
|
|||||||
+1
-1
@@ -215,7 +215,7 @@ export const confirmOrderEditRequestWorkflow = createWorkflow(
|
|||||||
const formatedInventoryItems = transform(
|
const formatedInventoryItems = transform(
|
||||||
{
|
{
|
||||||
input: {
|
input: {
|
||||||
sales_channel_id: (orderItems as any).order.sales_channel_id,
|
sales_channel_id: (orderItems as any).sales_channel_id,
|
||||||
variants,
|
variants,
|
||||||
items,
|
items,
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in new issue
Block a user