Files
medusa-store/packages/medusa-react/test/hooks/admin/inventory-items/queries.test.ts
2023-03-03 10:09:16 +01:00

75 lines
2.2 KiB
TypeScript

import { renderHook } from "@testing-library/react-hooks/dom"
import { fixtures } from "../../../../mocks/data"
import {
useAdminInventoryItem,
useAdminInventoryItemLocationLevels,
useAdminInventoryItems,
useAdminPriceList,
} from "../../../../src"
import { createWrapper } from "../../../utils"
describe("useAdminInventoryItems hook", () => {
test("returns a list of inventory items", async () => {
const inventoryItems = fixtures.list("inventory_item")
const { result, waitFor } = renderHook(() => useAdminInventoryItems(), {
wrapper: createWrapper(),
})
await waitFor(() => result.current.isSuccess)
expect(result.current.response.status).toEqual(200)
expect(result.current.inventory_items).toEqual(inventoryItems)
})
})
describe("useAdminInventoryItem hook", () => {
test("returns a single inventory item", async () => {
const inventoryItem = fixtures.get("inventory_item")
const { result, waitFor } = renderHook(
() => useAdminInventoryItem(inventoryItem.id),
{
wrapper: createWrapper(),
}
)
await waitFor(() => result.current.isSuccess)
expect(result.current.response.status).toEqual(200)
expect(result.current.inventory_item).toEqual(inventoryItem)
})
})
describe("useAdminInventoryItem hook", () => {
test("returns a location levels for an inventory item", async () => {
const inventoryItem = fixtures.get("inventory_item")
const { result, waitFor } = renderHook(
() => useAdminInventoryItemLocationLevels(inventoryItem.id),
{
wrapper: createWrapper(),
}
)
await waitFor(() => result.current.isSuccess)
expect(result.current.response.status).toEqual(200)
expect(result.current.inventory_item).toEqual(inventoryItem)
})
})
describe("useAdminPriceList hook", () => {
test("returns a price list", async () => {
const priceList = fixtures.get("price_list")
const { result, waitFor } = renderHook(
() => useAdminPriceList(priceList.id),
{
wrapper: createWrapper(),
}
)
await waitFor(() => result.current.isSuccess)
expect(result.current.response.status).toEqual(200)
expect(result.current.price_list).toEqual(priceList)
})
})