feat(medusa, admin-ui, medusa-react, medusa-js): Allow toggling of manage inventory (#3435)
**What** - Toggle manage inventory in the inventory management modal **How** - Create/update/remove inventory item based on if `manage_inventory` is set and if an inventory item already exists - Move all stock location updates to when the modal is submitted - Add create-inventory-item endpoint in the core Fixes CORE-1196 Co-authored-by: Sebastian Rindom <7554214+srindom@users.noreply.github.com>
This commit is contained in:
co-authored by
Sebastian Rindom
parent
30a3203640
commit
fe9eea4c18
@@ -278,6 +278,62 @@ describe("Inventory Items endpoints", () => {
|
||||
})
|
||||
})
|
||||
|
||||
it.only("Creates an inventory item using the api", async () => {
|
||||
const product = await simpleProductFactory(dbConnection, {})
|
||||
|
||||
const api = useApi()
|
||||
|
||||
const productRes = await api.get(
|
||||
`/admin/products/${product.id}`,
|
||||
adminHeaders
|
||||
)
|
||||
|
||||
const variantId = productRes.data.product.variants[0].id
|
||||
|
||||
let variantInventoryRes = await api.get(
|
||||
`/admin/variants/${variantId}/inventory`,
|
||||
adminHeaders
|
||||
)
|
||||
|
||||
expect(variantInventoryRes.data).toEqual({
|
||||
variant: {
|
||||
id: variantId,
|
||||
inventory: [],
|
||||
sales_channel_availability: [],
|
||||
},
|
||||
})
|
||||
expect(variantInventoryRes.status).toEqual(200)
|
||||
|
||||
const inventoryItemCreateRes = await api.post(
|
||||
`/admin/inventory-items`,
|
||||
{ variant_id: variantId },
|
||||
adminHeaders
|
||||
)
|
||||
|
||||
variantInventoryRes = await api.get(
|
||||
`/admin/variants/${variantId}/inventory`,
|
||||
adminHeaders
|
||||
)
|
||||
|
||||
expect(variantInventoryRes.data).toEqual({
|
||||
variant: {
|
||||
id: variantId,
|
||||
inventory: [
|
||||
expect.objectContaining({
|
||||
...inventoryItemCreateRes.data.inventory_item,
|
||||
}),
|
||||
],
|
||||
sales_channel_availability: [
|
||||
expect.objectContaining({
|
||||
available_quantity: 0,
|
||||
channel_name: "Default Sales Channel",
|
||||
}),
|
||||
],
|
||||
},
|
||||
})
|
||||
expect(variantInventoryRes.status).toEqual(200)
|
||||
})
|
||||
|
||||
describe("List inventory items", () => {
|
||||
it("Lists inventory items with location", async () => {
|
||||
const api = useApi()
|
||||
|
||||
Reference in New Issue
Block a user