feat: add medusa-react (#913)
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
import { useOrderLookup } from "./../../../src/hooks/orders/queries"
|
||||
import { rest } from "msw"
|
||||
import { server } from "./../../../mocks/server"
|
||||
import { useCartOrder, useOrder } from "./../../../src/"
|
||||
import { renderHook } from "@testing-library/react-hooks"
|
||||
import { fixtures } from "../../../mocks/data"
|
||||
import { createWrapper } from "../../utils"
|
||||
|
||||
describe("useOrder hook", () => {
|
||||
test("returns an order", async () => {
|
||||
const order = fixtures.get("order")
|
||||
const { result, waitFor } = renderHook(() => useOrder(order.id), {
|
||||
wrapper: createWrapper(),
|
||||
})
|
||||
|
||||
await waitFor(() => result.current.isSuccess)
|
||||
|
||||
expect(result.current.response.status).toEqual(200)
|
||||
expect(result.current.order).toEqual(order)
|
||||
})
|
||||
})
|
||||
|
||||
describe("useCartOrder hook", () => {
|
||||
test("returns a cart order", async () => {
|
||||
const order = fixtures.get("order")
|
||||
const { result, waitFor } = renderHook(() => useCartOrder("test_cart"), {
|
||||
wrapper: createWrapper(),
|
||||
})
|
||||
|
||||
await waitFor(() => result.current.isSuccess)
|
||||
|
||||
expect(result.current.response.status).toEqual(200)
|
||||
expect(result.current.order).toEqual(order)
|
||||
})
|
||||
})
|
||||
|
||||
describe("useOrderLookup hook", () => {
|
||||
test("propagates the query params and returns an order", async () => {
|
||||
const order = fixtures.get("order")
|
||||
const displayId = 400,
|
||||
emailParam = "customer@test.com"
|
||||
|
||||
server.use(
|
||||
rest.get("/store/orders", (req, res, ctx) => {
|
||||
const display_id = req.url.searchParams.get("display_id")
|
||||
const email = req.url.searchParams.get("email")
|
||||
expect({
|
||||
display_id,
|
||||
email,
|
||||
}).toEqual({
|
||||
email: emailParam,
|
||||
display_id: displayId.toString(),
|
||||
})
|
||||
return res(
|
||||
ctx.status(200),
|
||||
ctx.json({
|
||||
order,
|
||||
})
|
||||
)
|
||||
})
|
||||
)
|
||||
|
||||
const { result, waitFor } = renderHook(
|
||||
() =>
|
||||
useOrderLookup({
|
||||
display_id: displayId,
|
||||
email: emailParam,
|
||||
}),
|
||||
{
|
||||
wrapper: createWrapper(),
|
||||
}
|
||||
)
|
||||
|
||||
await waitFor(() => result.current.isSuccess)
|
||||
|
||||
expect(result.current.response.status).toEqual(200)
|
||||
expect(result.current.order).toEqual(order)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user