01must proveConfirmed | Code matching normalizes case, spaces and compatible full-width characters, displays the configured code and retains the entered spelling after trimming the request text. no proof recorded yet | validation | service | test |
02must proveConfirmed | Invalid promotion-code characters produce a readable validation refusal and are not stored on the cart. no proof recorded yet | validation | api, service | test |
03must proveConfirmed | A promotion cannot apply twice through repeated entry or a different code for the same promotion; the refusal explains that it is already applied and enters the cart history. no proof recorded yet | validation | service | test |
04must proveConfirmed | A code with no qualifying items contributes no discount and remains in the placed snapshot as rejected with its reason. no proof recorded yet | validation | service | test |
05must proveConfirmed | A valid code that adds no savings consumes no redemption, including when earlier discounts already make the item free. no proof recorded yet | policy | service | test |
06must proveConfirmed | Placement records the applied promotion and code use together with the discount allocation, while previews consume no uses. no proof recorded yet | lifecycle | service, database | test |
07must proveConfirmed | Eligibility-limited promotions evaluate their declared subject during preview and placement; an indeterminate result fails both matching and non-matching requirements. no proof recorded yet | policy | service | test |
08must proveConfirmed | Portal buyers receive customer wording without staff-only explanations in their readable snapshot, while staff can also see operational details such as business-unit conflicts. no proof recorded yet | policy | service | test |
09must proveConfirmed | Removing an entered code recalculates the preview and records the removal; removal of an absent code returns not found. no proof recorded yet | lifecycle | service | test |
10must proveConfirmed | Automatic promotions enter pricing by priority without code entry, and an exclusive code displaces them only when it provides a better price. no proof recorded yet | calculation | service | test |
11must proveConfirmed | A portal buyer cannot add a promotion code to a cart outside their permitted parties. no proof recorded yet | permission | service | test |