fix(medusa): Throw on line item generation if variant does not have a price (#3766)
This commit is contained in:
1 parent
d533caa4c2
commit
1a60c6f58d
6 files changed
+66
-3
No files matched your search
@@ -7,8 +7,8 @@ const validRegionId = IdMap.getId("region-france")
|
||||
describe("POST /admin/discounts", () => {
|
||||
const adminSession = {
|
||||
jwt: {
|
||||
userId: IdMap.getId("admin_user")
|
||||
}
|
||||
userId: IdMap.getId("admin_user"),
|
||||
},
|
||||
}
|
||||
|
||||
describe("successful creation", () => {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { isDefined, MedusaError } from "medusa-core-utils"
|
||||
import { MedusaError } from "medusa-core-utils"
|
||||
import {
|
||||
EntityManager,
|
||||
FindOptionsWhere,
|
||||
@@ -29,6 +29,7 @@ import EventBusService from "./event-bus"
|
||||
import LineItemService from "./line-item"
|
||||
import ProductVariantService from "./product-variant"
|
||||
import ShippingOptionService from "./shipping-option"
|
||||
import { isDefined } from "@medusajs/utils"
|
||||
|
||||
type InjectedDependencies = {
|
||||
manager: EntityManager
|
||||
|
||||
@@ -332,6 +332,15 @@ class LineItemService extends TransactionBaseService {
|
||||
unit_price = context.variantPricing?.calculated_price ?? undefined
|
||||
}
|
||||
|
||||
if (unit_price == null) {
|
||||
throw new MedusaError(
|
||||
MedusaError.Types.INVALID_DATA,
|
||||
`Cannot generate line item for variant "${
|
||||
variant.title ?? variant.product.title ?? variant.id
|
||||
}" without a price`
|
||||
)
|
||||
}
|
||||
|
||||
const rawLineItem: Partial<LineItem> = {
|
||||
unit_price: unit_price,
|
||||
title: variant.product.title,
|
||||
|
||||
Reference in new issue
Block a user