chore(core-flows,inventory,types,medusa): add fixes to inventory module + location levels api (#7629)

what:

- santizes inputs to prevent reserved_quantity from being updated directly
- inventory items create api can create location levels
- add validation to update quantity of reservation items
- general cleanup

RESOLVES CORE-2254
This commit is contained in:
Riqwan Thamir
2024-06-06 12:58:17 +00:00
committed by GitHub
parent 3fbb8aa671
commit 0507dbe027
13 changed files with 366 additions and 93 deletions
@@ -88,16 +88,25 @@ medusaIntegrationTestRunner({
it("should throw if available quantity is less than reservation quantity", async () => {
const payload = {
quantity: 100000,
quantity: 10000,
inventory_item_id: inventoryItem1.id,
line_item_id: "line-item-id",
location_id: stockLocation1.id,
}
const res = await api
.post(`/admin/reservations`, payload, adminHeaders)
.post(
`/admin/reservations?fields=*inventory_item.location_levels`,
payload,
adminHeaders
)
.catch((err) => err)
const res1 = await api.get(
`/admin/inventory-items/${inventoryItem1.id}`,
adminHeaders
)
expect(res.response.status).toBe(400)
expect(res.response.data).toEqual({
type: "not_allowed",
@@ -133,8 +142,7 @@ medusaIntegrationTestRunner({
reservationId = reservationResponse.data.reservation.id
})
// TODO: Implement this on the module
it.skip("should throw if available quantity is less than reservation quantity", async () => {
it("should throw if available quantity is less than reservation quantity", async () => {
const payload = { quantity: 100000 }
const res = await api
.post(`/admin/reservations/${reservationId}`, payload, adminHeaders)