feat(medusa): Add endpoints specific to DiscountConditions (#1355)
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { DiscountConditionOperator } from "@medusajs/medusa"
|
||||
import { renderHook } from "@testing-library/react-hooks"
|
||||
import { fixtures } from "../../../../mocks/data"
|
||||
import {
|
||||
@@ -6,7 +7,10 @@ import {
|
||||
useAdminDeleteDiscount,
|
||||
useAdminDeleteDynamicDiscountCode,
|
||||
useAdminDiscountAddRegion,
|
||||
useAdminDiscountCreateCondition,
|
||||
useAdminDiscountRemoveCondition,
|
||||
useAdminDiscountRemoveRegion,
|
||||
useAdminDiscountUpdateCondition,
|
||||
useAdminUpdateDiscount,
|
||||
} from "../../../../src/"
|
||||
import { createWrapper } from "../../../utils"
|
||||
@@ -184,3 +188,68 @@ describe("useAdminDeleteDynamicDiscountCode hook", () => {
|
||||
)
|
||||
})
|
||||
})
|
||||
|
||||
describe("useAdminDiscountCreateCondition hook", () => {
|
||||
test("Creates a condition from a discount", async () => {
|
||||
const id = fixtures.get("discount").id
|
||||
const conditionId = fixtures.get("discount").rule.conditions[0].id
|
||||
|
||||
const { result, waitFor } = renderHook(
|
||||
() => useAdminDiscountCreateCondition(id),
|
||||
{
|
||||
wrapper: createWrapper(),
|
||||
}
|
||||
)
|
||||
|
||||
result.current.mutate({
|
||||
operator: DiscountConditionOperator.IN,
|
||||
products: ["test-product"],
|
||||
})
|
||||
|
||||
await waitFor(() => result.current.isSuccess)
|
||||
|
||||
expect(result.current.data.response.status).toEqual(200)
|
||||
expect(result.current.data.discount).toEqual(fixtures.get("discount"))
|
||||
})
|
||||
})
|
||||
describe("useAdminDiscountUpdateCondition hook", () => {
|
||||
test("Updates condition for discount", async () => {
|
||||
const id = fixtures.get("discount").id
|
||||
const conditionId = fixtures.get("discount").rule.conditions[0].id
|
||||
|
||||
const { result, waitFor } = renderHook(
|
||||
() => useAdminDiscountUpdateCondition(id, conditionId),
|
||||
{
|
||||
wrapper: createWrapper(),
|
||||
}
|
||||
)
|
||||
|
||||
result.current.mutate({ products: ["test-product"] })
|
||||
|
||||
await waitFor(() => result.current.isSuccess)
|
||||
|
||||
expect(result.current.data.response.status).toEqual(200)
|
||||
expect(result.current.data.discount).toEqual(fixtures.get("discount"))
|
||||
})
|
||||
})
|
||||
|
||||
describe("useAdminDiscountRemoveCondition hook", () => {
|
||||
test("removes a condition from a discount", async () => {
|
||||
const id = fixtures.get("discount").id
|
||||
const conditionId = fixtures.get("discount").rule.conditions[0].id
|
||||
|
||||
const { result, waitFor } = renderHook(
|
||||
() => useAdminDiscountRemoveCondition(id),
|
||||
{
|
||||
wrapper: createWrapper(),
|
||||
}
|
||||
)
|
||||
|
||||
result.current.mutate(conditionId)
|
||||
|
||||
await waitFor(() => result.current.isSuccess)
|
||||
|
||||
expect(result.current.data.response.status).toEqual(200)
|
||||
expect(result.current.data.id).toEqual(conditionId)
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user