feat(medusa, medusa-js, medusa-react): Implement item change deletion from an order edit (#2241)

This commit is contained in:
Adrien de Peretti authored and GitHub committed 2022-09-22 11:02:58 +02:00
1 parent eb8034502b
commit 14e808c724
18 files changed
+700 -17

No files matched your search

+13 -1
View File
@@ -1703,7 +1703,19 @@ export const adminHandlers = [
ctx.json({
id,
object: "order_edit",
deleted: true
deleted: true,
})
)
}),
rest.delete("/admin/order-edits/:id/changes/:change_id", (req, res, ctx) => {
const { change_id } = req.params
return res(
ctx.status(200),
ctx.json({
id: change_id,
object: "item_change",
deleted: true,
})
)
}),
@@ -3,8 +3,9 @@ import { Response } from "@medusajs/medusa-js"
import {
AdminOrderEditDeleteRes,
AdminPostOrderEditsOrderEditReq,
AdminOrderEditItemChangeDeleteRes,
AdminOrderEditsRes,
AdminPostOrderEditsOrderEditReq,
AdminPostOrderEditsReq,
} from "@medusajs/medusa"
@@ -45,6 +46,28 @@ export const useAdminDeleteOrderEdit = (
)
}
export const useAdminDeleteOrderEditItemChange = (
orderEditId: string,
itemChangeId: string,
options?: UseMutationOptions<
Response<AdminOrderEditItemChangeDeleteRes>,
Error,
void
>
) => {
const { client } = useMedusa()
const queryClient = useQueryClient()
return useMutation(
() => client.admin.orderEdits.deleteItemChange(orderEditId, itemChangeId),
buildOptions(
queryClient,
[adminOrderEditsKeys.detail(orderEditId), adminOrderEditsKeys.lists()],
options
)
)
}
export const useAdminUpdateOrderEdit = (
id: string,
options?: UseMutationOptions<
@@ -2,13 +2,38 @@ import { renderHook } from "@testing-library/react-hooks"
import {
useAdminCreateOrderEdit,
useAdminUpdateOrderEdit,
useAdminDeleteOrderEdit,
useAdminDeleteOrderEditItemChange,
useAdminUpdateOrderEdit,
} from "../../../../src/"
import { fixtures } from "../../../../mocks/data"
import { fixtures } from "../../../../mocks/data"
import { createWrapper } from "../../../utils"
describe("useAdminDeleteOrderEditItemChange hook", () => {
test("Deletes an order edit item change", async () => {
const id = "oe_1"
const itemChangeId = "oeic_1"
const { result, waitFor } = renderHook(
() => useAdminDeleteOrderEditItemChange(id, itemChangeId),
{
wrapper: createWrapper(),
}
)
result.current.mutate()
await waitFor(() => result.current.isSuccess)
expect(result.current.data.response.status).toEqual(200)
expect(result.current.data).toEqual(
expect.objectContaining({
id: itemChangeId,
object: "item_change",
deleted: true,
})
)
})
})
describe("useAdminDelete hook", () => {
test("Deletes an order edit", async () => {
const id = "oe_1"