Group Selection Cardinality
Prove that a product component group enforces its maximum selection count by over-selecting members.
What it proves
Within a Product Component Group, the number of distinct selected options must stay within the configured cardinality. This is not a per-product quantity limit: it is how many different components from the group are selected.
Revsnap’s Scenario Builder supports Maximum (over-select) only. Minimum under-select is not offered because Salesforce headless configurator APIs do not reliably return under-select range messages.
Example
Map these Meridian product names to equivalents in your org. Pick a valid base quote that already reflects the rule, then select the matching products in Scenario Builder.
Support is sold as a single tier per enterprise deal so SLAs and entitlements stay unambiguous.
Bundle: Meridian Enterprise Pack
Component group: Support: Max = 1 (org may also have Min = 1)
Options in the group:
- Standard Support
- Premium Support
- Platinum Support
A valid base quote has exactly one support tier (for example Premium Support). Adding one or more additional tiers (for example Standard and Platinum) violates the max. Salesforce typically returns a range message such as:
… isn't in the specified range …
Or org-specific wording like: Group Cardinality must be greater than or equal to 1 and less than or equal to 1.
What Revsnap does at runtime
- Recreates the base quote (preserving captured products). If a baseline group member has
cfgStatus: Engine, recreation rewrites it toUserso Salesforce counts it toward the group. - Adds every catalog product you checked in the group via
add-nodes(the last add is the test action). - Asserts the expected range message from that response (default severity warning).
- Removes the transient adds and saves the valid configuration.
How to capture it
- Capture a Configurator → Scenario Builder snapshot with a valid base quote that already satisfies the group maximum.
- On Rule Type, choose Group Selection Cardinality.
- In Scenario Builder:
- Select the baseline bundle
- Choose the Product component group
- Confirm constraint type is Maximum (over-select) and set the Maximum boundary
- In the group membership list, check one or more catalog-only products to add (on-quote members stay selected)
- Use Baseline Products only: standalone and Other Bundles are not used for this pattern.
- On Review, confirm the default expected message and severity, then save.
Review assertion tips
| Setting | Default / guidance |
|---|---|
| Expected pattern | isn't in the specified range (or your org’s equivalent wording) |
| Severity | warning: PCM / bundle validation range messages are often warnings, not errors |
| Rule must be active | If the constraint is disabled in Salesforce, no message is returned and the assertion fails |
Always assert the severity Salesforce actually returns. Matching the text with severity error against a Salesforce warning fails.
Related
- Configurator testing: severity and operator notes
- Quantity Boundaries: per-product quantity min/max instead of group selection count