Files
medusa-store/integration-tests/modules/helpers/create-variant-price-set.ts
Riqwan Thamir 20243e22ee feat(pricing): pricing models are made soft deletable (#6732)
what:

- pricing models are made soft deletable
- adds missing timestamp attributes
- removes unwanted relationships + cascade cleanup
2024-03-20 16:03:17 +00:00

51 lines
1.1 KiB
TypeScript

import { MedusaContainer } from "@medusajs/modules-sdk"
import {
CreatePriceSetDTO,
IPricingModuleService,
PriceSetDTO,
} from "@medusajs/types"
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.create({
rules,
prices,
})
await remoteLink.create({
productService: {
variant_id: variantId,
},
pricingService: {
price_set_id: priceSet.id,
},
})
return await pricingModuleService.retrieve(priceSet.id, {
relations: ["price_set_money_amounts.money_amount"],
})
}