feat(medusa, medusa-js, medusa-react): Support listing order edits (#2436)
* feat(medusa, medusa-js, medusa-react): Support listing order edits * feat(medusa): Update OAS * fix oas Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
This commit is contained in:
co-authored by
Oliver Windall Juhl
parent
69e579758f
commit
143f8543e5
@@ -1664,6 +1664,18 @@ export const adminHandlers = [
|
||||
)
|
||||
}),
|
||||
|
||||
rest.get("/admin/order-edits/", (req, res, ctx) => {
|
||||
return res(
|
||||
ctx.status(200),
|
||||
ctx.json({
|
||||
count: 1,
|
||||
limit: 20,
|
||||
offset: 0,
|
||||
order_edits: [fixtures.get("order_edit")],
|
||||
})
|
||||
)
|
||||
}),
|
||||
|
||||
rest.post("/admin/order-edits/", (req, res, ctx) => {
|
||||
return res(
|
||||
ctx.status(200),
|
||||
@@ -1783,7 +1795,7 @@ export const adminHandlers = [
|
||||
})
|
||||
)
|
||||
}),
|
||||
|
||||
|
||||
rest.delete("/admin/order-edits/:id/items/:item_id", (req, res, ctx) => {
|
||||
return res(
|
||||
ctx.status(200),
|
||||
@@ -1792,7 +1804,7 @@ export const adminHandlers = [
|
||||
...fixtures.get("order_edit"),
|
||||
changes: [
|
||||
{
|
||||
type: 'item_remove'
|
||||
type: "item_remove",
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
import { AdminOrderEditsRes } from "@medusajs/medusa"
|
||||
import {
|
||||
AdminOrderEditsListRes,
|
||||
AdminOrderEditsRes,
|
||||
GetOrderEditsOrderEditParams,
|
||||
GetOrderEditsParams,
|
||||
} from "@medusajs/medusa"
|
||||
import { queryKeysFactory } from "../../utils"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
@@ -12,6 +17,7 @@ type OrderEditQueryKeys = typeof adminOrderEditsKeys
|
||||
|
||||
export const useAdminOrderEdit = (
|
||||
id: string,
|
||||
query?: GetOrderEditsOrderEditParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminOrderEditsRes>,
|
||||
Error,
|
||||
@@ -21,7 +27,24 @@ export const useAdminOrderEdit = (
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminOrderEditsKeys.detail(id),
|
||||
() => client.admin.orderEdits.retrieve(id),
|
||||
() => client.admin.orderEdits.retrieve(id, query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminOrderEdits = (
|
||||
query?: GetOrderEditsParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminOrderEditsListRes>,
|
||||
Error,
|
||||
ReturnType<OrderEditQueryKeys["list"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminOrderEditsKeys.list(query),
|
||||
() => client.admin.orderEdits.list(query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { fixtures } from "../../../../mocks/data"
|
||||
import { renderHook } from "@testing-library/react-hooks"
|
||||
import { useAdminOrderEdit } from "../../../../src"
|
||||
import { useAdminOrderEdit, useAdminOrderEdits } from "../../../../src"
|
||||
import { createWrapper } from "../../../utils"
|
||||
|
||||
describe("useAdminOrderEdit hook", () => {
|
||||
@@ -19,3 +19,19 @@ describe("useAdminOrderEdit hook", () => {
|
||||
expect(result.current.order_edit).toEqual(order_edit)
|
||||
})
|
||||
})
|
||||
|
||||
describe("useAdminOrderEdits hook", () => {
|
||||
test("returns an order edit", async () => {
|
||||
const order_edit = fixtures.get("order_edit")
|
||||
const { result, waitFor } = renderHook(() => useAdminOrderEdits(), {
|
||||
wrapper: createWrapper(),
|
||||
})
|
||||
|
||||
await waitFor(() => result.current.isSuccess)
|
||||
|
||||
expect(result.current.response.status).toEqual(200)
|
||||
expect(result.current.order_edits).toEqual(
|
||||
expect.arrayContaining([order_edit])
|
||||
)
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user