feat: add a line item to an order edit (#2243)
**What**
- Implement adding a line item to order (edit)
**How**
- _by implementing the following "flow"_
- generate a line item
- computing line item adjustments for that line item
- creating tax lines
- creating a change record
**Testing**
- **_integration tests_**
- check if line item and order item change objects are created (with correct tax lines)
- line item adjustments are generated if
- fixed discount is applied to cart
- percentage discount is applied
- **_unit tests_**
- ensure that methods from Inventory, LineItem, LineItemAdjustment etc. services are called
---
RESOLVES CORE-495
This commit is contained in:
@@ -8,6 +8,7 @@ import {
|
||||
AdminPostOrderEditsEditLineItemsLineItemReq,
|
||||
AdminPostOrderEditsOrderEditReq,
|
||||
AdminPostOrderEditsReq,
|
||||
AdminPostOrderEditsEditLineItemsReq,
|
||||
} from "@medusajs/medusa"
|
||||
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
@@ -114,6 +115,27 @@ export const useAdminUpdateOrderEdit = (
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminOrderEditLineItem = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminOrderEditsRes>,
|
||||
Error,
|
||||
AdminPostOrderEditsEditLineItemsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostOrderEditsEditLineItemsReq) =>
|
||||
client.admin.orderEdits.addLineItem(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminOrderEditsKeys.lists(), adminOrderEditsKeys.detail(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminRequestOrderEditConfirmation = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminOrderEditsRes>, Error>
|
||||
|
||||
Reference in New Issue
Block a user