Skip to content

Commit 3465eb3

Browse files
committed
fix: prefer matching discount rule with validated items when some are not
prevents wrong return of "No promotion products..." when other discount rule is available
1 parent aa59676 commit 3465eb3

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

functions/lib/helpers.js

+7-1
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,13 @@ const getValidDiscountRules = (discountRules, params, itemsForKit) => {
147147
return []
148148
}
149149

150-
const matchDiscountRule = (discountRules, params = {}, skipApplyAt) => {
150+
const matchDiscountRule = (_discountRules, params = {}, skipApplyAt) => {
151+
const validItemsDiscountRules = _discountRules.filter((rule) => {
152+
return mapCampaignProducts(rule, params).valid
153+
})
154+
const discountRules = validItemsDiscountRules.length
155+
? validItemsDiscountRules
156+
: _discountRules
151157
const filteredRules = skipApplyAt
152158
? discountRules.filter((rule) => {
153159
const applyAt = (rule.discount && rule.discount.apply_at) || 'total'

0 commit comments

Comments
 (0)