From 6bc5bf4fc976a827ea1d1a5b095e370e717a9b24 Mon Sep 17 00:00:00 2001 From: Pepijn Date: Mon, 1 Dec 2025 15:04:57 +0100 Subject: [PATCH] Fix not in promotion rule empty value validation (#14172) --- .changeset/thick-shrimps-peel.md | 5 +++++ .../promotion-module/evaluate-rule-value-condition.spec.ts | 1 + .../promotion/src/utils/validations/promotion-rule.ts | 7 ++++++- 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 .changeset/thick-shrimps-peel.md diff --git a/.changeset/thick-shrimps-peel.md b/.changeset/thick-shrimps-peel.md new file mode 100644 index 0000000000..70609a7357 --- /dev/null +++ b/.changeset/thick-shrimps-peel.md @@ -0,0 +1,5 @@ +--- +"@medusajs/promotion": patch +--- + +Fix not in promotion rule empty value validation diff --git a/packages/modules/promotion/integration-tests/__tests__/services/promotion-module/evaluate-rule-value-condition.spec.ts b/packages/modules/promotion/integration-tests/__tests__/services/promotion-module/evaluate-rule-value-condition.spec.ts index 1a3a4a138b..f9edfa3250 100644 --- a/packages/modules/promotion/integration-tests/__tests__/services/promotion-module/evaluate-rule-value-condition.spec.ts +++ b/packages/modules/promotion/integration-tests/__tests__/services/promotion-module/evaluate-rule-value-condition.spec.ts @@ -35,6 +35,7 @@ moduleIntegrationTestRunner({ expect(testFunc(["2"], operator, [2])).toEqual(false) expect(testFunc(["2"], operator, ["2"])).toEqual(false) expect(testFunc(["2"], operator, ["22"])).toEqual(true) + expect(testFunc(["2"], operator, [])).toEqual(true) }) }) diff --git a/packages/modules/promotion/src/utils/validations/promotion-rule.ts b/packages/modules/promotion/src/utils/validations/promotion-rule.ts index 064cf2af7c..5715e1e375 100644 --- a/packages/modules/promotion/src/utils/validations/promotion-rule.ts +++ b/packages/modules/promotion/src/utils/validations/promotion-rule.ts @@ -118,7 +118,12 @@ export function evaluateRuleValueCondition( : [ruleValuesToCheck] if (!valuesToCheck.length) { - return false + switch (operator) { + case "ne": + return true + default: + return false + } } switch (operator) {