- Home
- /
- Salesforce Testing
- /
- Business Processes
- /
- Approval Process
Salesforce Approval Process Testing
Salesforce approval process testing validates the gates that stand between a rep and a committed deal — discount approvals, non-standard terms and exception requests. It proves that the right records enter the right process, reach the right approvers in the right order, lock while pending, and land in a correct final state whether they are approved, rejected or recalled.
Part of SyntraFlow's Salesforce business process testing practice. Capabilities described here are available for demonstration and proof-of-concept validation.
What an approval process is really enforcing
An approval process in Salesforce is a control, not a convenience. It encodes a commercial policy — discounts above a threshold need a sales manager, deals above a value need finance, non-standard payment terms need legal — and it enforces that policy by locking the record, routing it through defined steps, and applying field updates only when each step completes. Classic approval processes are built in Setup with entry criteria, approval steps and final actions, while newer orgs may build approvals with Flow-based orchestration. Many orgs run both, plus CPQ Advanced Approvals on quotes.
Testing an approval process means proving that the policy holds for every combination of record values and users, not just that the Submit for Approval button works. Approvals are a frequent audit topic, so a gap is more than a bug: it is a record that bypassed a control. This page covers approval mechanics on sales records such as opportunities and custom deal objects; quote-line approvals inside CPQ are exercised as part of configure-price-quote testing.
The anatomy an approval test must cover
Each part of an approval process can fail independently, and each needs its own assertion.
Entry criteria
Which records may be submitted at all, and which process they enter when several active processes exist for the same object, evaluated in process order.
Initial submission actions
The record lock, status field update and notification that fire the moment a record is submitted.
Step criteria and approvers
Whether each step applies to this record and who approves it: a manager field, a related user, a queue or a named user, with unanimous or first-response logic for multiple approvers.
Approval and rejection actions
Field updates, tasks, emails and outbound messages that run at each step and at the final decision.
Recall and unlock
Whether the submitter can recall, what recall actions reset, and whether the record unlocks for editing afterward.
Approval history
The ProcessInstance, step and work item records that form the audit trail of who decided what and when.
A two-step discount approval, walked end to end
SyntraFlow can be configured to run a submission as the rep, act on each work item as the correct approver, and assert the record state between every step.
Prepare a record that meets entry criteria
An opportunity is created with a discount just above the manager threshold and an amount above the finance threshold, owned by a rep with a populated manager.
Submit as the rep
The submission runs under the rep's profile; the test asserts the record locks, the approval status updates and the first work item is assigned to the rep's manager.
Confirm edits are blocked
The rep attempts to change the discount while pending and the test confirms the lock prevents it, while an administrator's override behaves as the org intends.
Approve step one as the manager
The manager approves with a comment; the test checks the step action fires and a second work item routes to the finance queue.
Approve step two as finance
A finance queue member approves; final approval actions set status to Approved, stamp the approval date and unlock or keep locked as designed.
Verify history and downstream effects
The approval history shows both steps with actors and comments, and any automation that depends on Approved status, such as enabling quote generation, now proceeds.
Negative and exception paths
Approval defects almost always live off the straight-line approve path. Each branch below maps to a real way a control is bypassed or a deal gets stuck.
| Branch | What the test confirms |
|---|---|
| Rejection at step one | Rejection actions fire, the record returns to an editable state and later steps never receive a work item. |
| Recall by submitter | Recall is permitted only where configured, recall actions reset status, and pending work items are removed. |
| Resubmission after edit | A revised record starts a fresh process instance and does not inherit approvals from the rejected attempt. |
| Below-threshold record | A record that misses entry criteria cannot be submitted, or enters a lighter process, rather than falling into the wrong one. |
| Missing manager | A submitter with no manager hits the defined error or fallback approver, not a silent auto-approval. |
| Delegated approver | When the approver has a delegate, the delegate can act and history shows who actually approved. |
| Submitter is also approver | Self-approval is blocked or auto-handled exactly as policy states. |
| Record changed by integration while locked | API or Apex updates to a locked record behave according to the org's lock and permission design. |
Roles, hierarchy and segregation of duties
Approvals depend on who people are, which makes role data as important as record data. Approver resolution often uses the Manager field on the User record or a custom user lookup, so a test needs users with deliberate hierarchies: a rep with a manager, a manager with a director, a user with no manager, and an approver with an active delegate. Queue-based steps need queue membership that is known and stable. When an org restructures its sales teams, these references are exactly what breaks.
The permission side matters equally. Users who approve should not be able to edit the fields they are approving, a rep should not be able to modify approval-controlled fields after approval, and administrators who can unlock records should be few. These checks overlap with segregation of duties and role hierarchy testing, and approval scenarios are most valuable when they run as the real personas rather than a single system administrator.
Changes that should trigger an approval regression run
Approval processes are edited less often than Flows, which is why their regressions go unnoticed longer. Rerun the pack whenever any of these change:
- Discount, amount or margin thresholds in entry or step criteria, including formula fields those criteria reference.
- A new approval process activated on the same object, which changes evaluation order for existing records.
- Sales territory or manager reassignments that alter who resolves as approver.
- Migration from classic approval processes to Flow-based approvals, where step logic and history objects differ.
- Validation rules or record-triggered Flows that run on the same status field approval actions update.
- Email templates and approval response settings used for approving by email reply.
- Seasonal Salesforce releases that touch approvals, Flow orchestration or the approval history component.
Suggested approval scenarios
A focused pack covers the path most deals take and the paths auditors ask about.
| Scenario | What it proves |
|---|---|
| Single-step manager approval | Threshold routing, lock, approve action and unlock work for the most common case. |
| Multi-step with queue | Sequential steps route correctly and any queue member can act. |
| Parallel unanimous approval | Every named approver must approve before the record advances. |
| Reject then resubmit | A clean restart without inherited approvals. |
| Recall while pending | Recall resets status and removes open work items. |
| Delegate approves | Delegation works and history attributes the action correctly. |
| Edit blocked while locked | The rep cannot change controlled fields during approval. |
Evidence an auditor can read
For approvals, the evidence is the point. A run should capture the record values at submission, the process and step that were entered, each work item with its assigned and actual approver, comments, timestamps, the final status and the fields changed by approval actions. SyntraFlow is designed to assemble that per scenario, so a release manager can show that deal controls still enforce policy after a change, and a controller can see the same trail without reading Setup.
Approval scenarios are also some of the best candidates for continuous execution, because they are short, deterministic and business-critical. Running them in a pipeline stage, as described on quality gates, stops a threshold edit or a manager hierarchy change from reaching production without anyone noticing that a control stopped firing.
Related pages
Business process testing
The hub for outcome-led Salesforce process testing this page belongs to.
Opportunity management testing
Stage progression and automation on the records that most often enter approval.
Configure-price-quote testing
Where quote-line and discount approvals inside CPQ are exercised.
Segregation of duties
Confirming submitters, approvers and administrators hold separate, appropriate access.
Role hierarchy testing
The hierarchy and manager relationships approver resolution depends on.
Quality gates
Running approval scenarios as a deployment gate so control regressions are blocked early.
Approval Process testing FAQs
What is Salesforce approval process testing?
It is validation that Salesforce approval processes enforce the business policy they were built for. Tests submit records that meet and miss entry criteria, act on each step as the correct approver, and confirm locking, routing, approval and rejection actions, recall and approval history all behave as designed.
Why test approvals as real users instead of an administrator?
Approver resolution, edit locks and recall rights all depend on the acting user. An administrator can often edit locked records and see every work item, which hides exactly the defects that matter. Running as the rep, manager, delegate and queue member proves the control works for the people it governs.
How does this relate to CPQ Advanced Approvals?
CPQ Advanced Approvals govern quotes and quote lines inside the CPQ package, with their own rules and approval chains. This page focuses on standard and Flow-based approvals on sales records such as opportunities. Quote approvals are covered with the rest of the CPQ journey on the configure-price-quote testing page.
What should happen when an approver has no manager?
That depends on policy, but it should never be silent. Common designs raise an error on submission or route to a fallback approver. A dedicated scenario confirms the org does what the policy says, because a missing manager after a reorganization is one of the most common approval failures.
Do approval tests need to change when moving to Flow-based approvals?
Yes. Flow-based approvals use different configuration and records for steps and history, so scenario assertions must be updated even if the business policy is identical. Running the old and new implementations against the same scenarios during migration is a practical way to prove equivalence.
Is approval process testing available for Salesforce today?
SyntraFlow is Oracle-native and expanding into Salesforce, and core sales journeys including approval scenarios are available for demonstration and proof-of-concept validation. Coverage for a specific org's approvals is confirmed per engagement.
Prove your deal controls still hold
See how SyntraFlow is designed to walk every approval branch as the people who submit, approve and recall.