Mutual Exclusivity (Message Rule)
Prove that two products cannot be selected together and that Salesforce returns the expected configuration-rule message.
What it proves
Product A and Product B are mutually exclusive. Attempting to add the conflicting product while the other is present raises a message() rule from Salesforce.
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.
Zero-copy live sharing and batch orchestration are alternative Data Fabric delivery patterns. Mixing them creates duplicate ingestion scope.
Bundle: Meridian Data Fabric Bundle
| Role | Product |
|---|---|
| Already on the quote | Zero Copy Data Share |
| Conflicting product to add | Batch Orchestration Pack |
Adding Batch Orchestration while Zero Copy is selected should fail with a message such as:
Zero Copy Data Share and Batch Orchestration Pack are alternative data delivery patterns. Select only one for this Data Fabric workload.
What Revsnap does at runtime
- Starts from your valid base quote (for example with Zero Copy Data Share already selected)
- Attempts to add the conflicting product (Batch Orchestration Pack)
- Asserts a configurator message matching your expected severity and regex
- Removes the transient invalid selection and reloads a clean configurator context
- Saves the corrected valid configuration
How to capture it
- Capture a Configurator → Scenario Builder snapshot with a valid base quote that already includes one side of the mutual exclusion.
- On Rule Type, choose Mutual Exclusivity (Message Rule).
- In Scenario Builder, select the Conflicting product to add.
- The product must not already be on the quote (in-quote products are disabled for this pattern).
- You can pick from Baseline Products, Other Bundles, or Standalone Products when available.
- On Review, enter the expected message text (or a regex fragment) and severity: typically error.
- Save the snapshot.
Review assertion tips
| Setting | Guidance |
|---|---|
| Expected pattern | Match the Salesforce message() text, for example alternative data delivery patterns |
| Severity | Usually error: must match Salesforce messageType |
| Help text in app | Match the message returned when Salesforce rejects adding the conflicting product |
If your org’s wording differs, paste a distinctive fragment of the live message into Review. Exact full-string match is not required when you use a regex fragment.
Related
- Configurator testing: severity and regex tips
- Mutual Inclusivity (Auto Add): auto-add instead of exclusion