Salesforce Dictionary - Free Salesforce GlossarySalesforce Dictionary
Salesforce QA / Tester
easy

How do you test an approval process?

Approval processes have multiple paths: submit, approve, reject, recall.

Test cases:

  • Submit: triggered correctly when entry criteria met.
  • Step approver: correctly routed.
  • Approve at step: advances to next.
  • Reject at step: triggers rejection actions.
  • Final approval: triggers final actions.
  • Final rejection: triggers rejection.
  • Recall: triggers recall actions.

Apex test: `apex @isTest static void testApprovalSubmission() { Opportunity o = new Opportunity(Name='Test', StageName='Negotiation', Amount=10000, CloseDate=Date.today()); insert o;

Approval.ProcessSubmitRequest req = new Approval.ProcessSubmitRequest(); req.setObjectId(o.Id); Approval.ProcessResult result = Approval.process(req);

System.assert(result.isSuccess()); System.assertEquals(1, [SELECT count() FROM ProcessInstance WHERE TargetObjectId=:o.Id]); } `

UI testing: Provar / Selenium drives submit / approve / reject manually.

Common pitfalls:

  • Testing only submission, not approval.
  • No test for skipped steps.
  • Not testing recall.

Senior insight: approval processes have many states. Comprehensive coverage required.

Why this answer works

Foundational. The state-coverage framing is mature.

Follow-ups to expect

Related dictionary terms