Files
medusa-store/integration-tests/modules/helpers/create-variant-price-set.ts
Adrien de Peretti 937a632eb6 chore: make module loaders DML aware and auto generate joiner config (#7781)
* chore: make module loaders DML aware and auto generate joiner config

* fixes and cleanup

* improve dml entity check

* add unit tests on load resources

* cleanup deps

* cleanup deps

* cleanup Modules

* finalise

* fix modules-sdk jest

* fix modules-sdk jest

* fix import

* fix import
2024-06-20 18:18:07 +02:00

48 lines
1.1 KiB
TypeScript

import { MedusaContainer } from "@medusajs/modules-sdk"
import {
CreatePriceSetDTO,
IPricingModuleService,
PriceSetDTO,
} from "@medusajs/types"
import { Modules } from "@medusajs/utils"
const defaultPrices = [
{
amount: 3000,
currency_code: "usd",
},
]
const defaultPriceSetRules = [{ rule_attribute: "region_id" }]
export const createVariantPriceSet = async ({
container,
variantId,
prices = defaultPrices,
rules = defaultPriceSetRules,
}: {
container: MedusaContainer
variantId: string
prices?: CreatePriceSetDTO["prices"]
rules?: CreatePriceSetDTO["rules"]
}): Promise<PriceSetDTO> => {
const remoteLink = container.resolve("remoteLink")
const pricingModuleService: IPricingModuleService = container.resolve(
"pricingModuleService"
)
const priceSet = await pricingModuleService.createPriceSets({
rules,
prices,
})
await remoteLink.create({
[Modules.PRODUCT]: { variant_id: variantId },
[Modules.PRICING]: { price_set_id: priceSet.id },
})
return await pricingModuleService.retrievePriceSet(priceSet.id, {
relations: ["prices"],
})
}