fix: use /admin/returns/:id/receive for swap returns (#1041)
This commit is contained in:
committed by
olivermrbl
parent
88ac3c0785
commit
7a3a1837a1
@@ -1,22 +1,21 @@
|
||||
import {
|
||||
AdminPostOrdersOrderReq,
|
||||
AdminOrdersRes,
|
||||
AdminGetOrdersParams,
|
||||
AdminOrdersListRes,
|
||||
AdminPostOrdersReq,
|
||||
AdminPostOrdersOrderRefundsReq,
|
||||
AdminOrdersRes,
|
||||
AdminPostOrdersOrderClaimsClaimFulfillmentsReq,
|
||||
AdminPostOrdersOrderClaimsClaimReq,
|
||||
AdminPostOrdersOrderClaimsClaimShipmentsReq,
|
||||
AdminPostOrdersOrderClaimsReq,
|
||||
AdminPostOrdersOrderFulfillmentsReq,
|
||||
AdminPostOrdersOrderShipmentReq,
|
||||
AdminPostOrdersOrderRefundsReq,
|
||||
AdminPostOrdersOrderReq,
|
||||
AdminPostOrdersOrderReturnsReq,
|
||||
AdminPostOrdersOrderShipmentReq,
|
||||
AdminPostOrdersOrderShippingMethodsReq,
|
||||
AdminPostOrdersOrderSwapsReq,
|
||||
AdminPostOrdersOrderSwapsSwapReceiveReq,
|
||||
AdminPostOrdersOrderSwapsSwapFulfillmentsReq,
|
||||
AdminPostOrdersOrderSwapsSwapShipmentsReq,
|
||||
AdminPostOrdersOrderClaimsReq,
|
||||
AdminPostOrdersOrderClaimsClaimFulfillmentsReq,
|
||||
AdminPostOrdersOrderClaimsClaimShipmentsReq,
|
||||
AdminPostOrdersOrderClaimsClaimReq,
|
||||
AdminPostOrdersReq,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../../typings"
|
||||
@@ -151,15 +150,6 @@ class AdminOrdersResource extends BaseResource {
|
||||
return this.client.request("POST", path)
|
||||
}
|
||||
|
||||
receiveSwap(
|
||||
id: string,
|
||||
swapId: string,
|
||||
payload: AdminPostOrdersOrderSwapsSwapReceiveReq
|
||||
): ResponsePromise<AdminOrdersRes> {
|
||||
const path = `/admin/orders/${id}/swaps/${swapId}/receive`
|
||||
return this.client.request("POST", path, payload)
|
||||
}
|
||||
|
||||
fulfillSwap(
|
||||
id: string,
|
||||
swapId: string,
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import {
|
||||
AdminGetReturnsParams,
|
||||
AdminPostReturnsReturnReceiveReq,
|
||||
AdminReturnsCancelRes,
|
||||
AdminReturnsListRes,
|
||||
AdminReturnsRes,
|
||||
@@ -22,11 +23,15 @@ class AdminReturnsResource extends BaseResource {
|
||||
/**
|
||||
* @description receive a return
|
||||
* @param id id of the return to receive.
|
||||
* @param payload items to receive and an optional refund amount
|
||||
* @returns the return
|
||||
*/
|
||||
receive(id: string): ResponsePromise<AdminReturnsRes> {
|
||||
receive(
|
||||
id: string,
|
||||
payload: AdminPostReturnsReturnReceiveReq
|
||||
): ResponsePromise<AdminReturnsRes> {
|
||||
const path = `/admin/returns/${id}/receive`
|
||||
return this.client.request("POST", path)
|
||||
return this.client.request("POST", path, payload)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { adminDraftOrderKeys } from "./queries"
|
||||
import {
|
||||
AdminDraftOrdersDeleteRes,
|
||||
AdminDraftOrdersRes,
|
||||
@@ -11,6 +10,7 @@ import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
import { adminDraftOrderKeys } from "./queries"
|
||||
|
||||
export const useAdminCreateDraftOrder = (
|
||||
options?: UseMutationOptions<
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
import { AdminReturnsCancelRes, AdminReturnsRes } from "@medusajs/medusa"
|
||||
import {
|
||||
AdminPostReturnsReturnReceiveReq,
|
||||
AdminReturnsCancelRes,
|
||||
AdminReturnsRes,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
@@ -7,13 +11,17 @@ import { adminReturnKeys } from "./queries"
|
||||
|
||||
export const useAdminReceiveReturn = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminReturnsRes>, Error, void>
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminReturnsRes>,
|
||||
Error,
|
||||
AdminPostReturnsReturnReceiveReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
() => client.admin.returns.receive(id),
|
||||
payload => client.admin.returns.receive(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminReturnKeys.detail(id), adminReturnKeys.list()],
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
import { adminSwapKeys } from "./queries"
|
||||
import {
|
||||
AdminOrdersRes,
|
||||
AdminPostOrdersOrderSwapsReq,
|
||||
AdminPostOrdersOrderSwapsSwapFulfillmentsReq,
|
||||
AdminPostOrdersOrderSwapsSwapReceiveReq,
|
||||
AdminPostOrdersOrderSwapsSwapShipmentsReq,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
@@ -11,6 +9,7 @@ import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { adminOrderKeys } from ".."
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
import { adminSwapKeys } from "./queries"
|
||||
|
||||
export const useAdminCreateSwap = (
|
||||
orderId: string,
|
||||
@@ -50,31 +49,6 @@ export const useAdminCancelSwap = (
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminReceiveSwap = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
AdminPostOrdersOrderSwapsSwapReceiveReq & { swap_id: string }
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
({
|
||||
swap_id,
|
||||
...payload
|
||||
}: AdminPostOrdersOrderSwapsSwapReceiveReq & { swap_id: string }) =>
|
||||
client.admin.orders.receiveSwap(orderId, swap_id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminOrderKeys.detail(orderId), adminSwapKeys.lists()],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminFulfillSwap = (
|
||||
orderId: string,
|
||||
options?: UseMutationOptions<
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { useAdminCancelReturn, useAdminReceiveReturn } from "../../../../src/"
|
||||
import { renderHook } from "@testing-library/react-hooks"
|
||||
import { fixtures } from "../../../../mocks/data"
|
||||
import { useAdminCancelReturn, useAdminReceiveReturn } from "../../../../src/"
|
||||
import { createWrapper } from "../../../utils"
|
||||
|
||||
describe("useAdminCancel hook", () => {
|
||||
@@ -23,6 +23,15 @@ describe("useAdminCancel hook", () => {
|
||||
|
||||
describe("useAdminReceiveReturn hook", () => {
|
||||
test("marks a return as received", async () => {
|
||||
const payload = {
|
||||
items: [
|
||||
{
|
||||
item_id: "test_id",
|
||||
quantity: 1,
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
const { result, waitFor } = renderHook(
|
||||
() => useAdminReceiveReturn("test-return"),
|
||||
{
|
||||
@@ -30,7 +39,7 @@ describe("useAdminReceiveReturn hook", () => {
|
||||
}
|
||||
)
|
||||
|
||||
result.current.mutate()
|
||||
result.current.mutate({ ...payload })
|
||||
|
||||
await waitFor(() => result.current.isSuccess)
|
||||
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
import {
|
||||
useAdminCreateSwap,
|
||||
useAdminReceiveSwap,
|
||||
useAdminFulfillSwap,
|
||||
useAdminCancelSwap,
|
||||
useAdminCreateSwapShipment,
|
||||
useAdminProcessSwapPayment,
|
||||
useAdminCancelSwapFulfillment,
|
||||
} from "../../../../src/"
|
||||
import { renderHook } from "@testing-library/react-hooks"
|
||||
import { fixtures } from "../../../../mocks/data"
|
||||
import {
|
||||
useAdminCancelSwap,
|
||||
useAdminCancelSwapFulfillment,
|
||||
useAdminCreateSwap,
|
||||
useAdminCreateSwapShipment,
|
||||
useAdminFulfillSwap,
|
||||
useAdminProcessSwapPayment,
|
||||
} from "../../../../src/"
|
||||
import { createWrapper } from "../../../utils"
|
||||
|
||||
describe("useAdminCreateSwap hook", () => {
|
||||
@@ -42,32 +41,6 @@ describe("useAdminCreateSwap hook", () => {
|
||||
})
|
||||
})
|
||||
|
||||
describe("useAdminReceiveSwap hook", () => {
|
||||
test("receives a swap", async () => {
|
||||
const orderId = fixtures.get("order").id
|
||||
const swapId = "test-swap"
|
||||
const payload = {
|
||||
items: [
|
||||
{
|
||||
item_id: "test_id",
|
||||
quantity: 1,
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
const { result, waitFor } = renderHook(() => useAdminReceiveSwap(orderId), {
|
||||
wrapper: createWrapper(),
|
||||
})
|
||||
|
||||
result.current.mutate({ swap_id: swapId, ...payload })
|
||||
|
||||
await waitFor(() => result.current.isSuccess)
|
||||
|
||||
expect(result.current.data.response.status).toEqual(200)
|
||||
expect(result.current.data.order).toEqual(fixtures.get("order"))
|
||||
})
|
||||
})
|
||||
|
||||
describe("useAdminFulfillSwap hook", () => {
|
||||
test("receives a swap", async () => {
|
||||
const orderId = fixtures.get("order").id
|
||||
|
||||
Reference in New Issue
Block a user