Skip to content

Testing Plan

This plan is designed for the current repo state and should be executed in layers so regressions are easier to isolate.

1. Pre-Flight

Run these first:

bash
npm run test:unit --workspace=pdf-esigner
npm run build --workspace=pdf-esigner
npm run build:docs

If Supabase-backed flows are configured, also run:

bash
npm run smoke:create-request --workspace=pdf-esigner
npm run smoke:bulk-create --workspace=pdf-esigner
npm run smoke:detect-fields --workspace=pdf-esigner
npm run smoke:sequential --workspace=pdf-esigner

2. Core Viewer Regression

Use /demo with Merchant.pdf.

Check:

  1. document opens without horizontal overflow
  2. zoom in and zoom out work repeatedly
  3. More dropdown appears above the page content
  4. sub-toolbar does not flash from full row into More
  5. thumbnails open/close correctly
  6. field borders look subtle rather than overpowering

3. Mobile Browser Validation

Run on:

  • iPhone Safari
  • Android Chrome

Check:

  1. first open fits the screen cleanly
  2. zoom steps feel usable
  3. no desktop-style page overflow
  4. scrolling does not blank pages unexpectedly
  5. signature drawing works
  6. Pages and Fields controls open as expected in signer mode
  7. keyboard entry in text fields keeps text contained inside the field

4. Signer Flow Validation

Use a real signing link and validate:

  1. signer page loads with the correct document
  2. required fields are visible
  3. Next Field moves correctly
  4. signature/initials capture saves correctly
  5. completion succeeds
  6. signed PDF downloads
  7. completion certificate is available when expected

5. Email Request Flow

If Resend is configured:

  1. create signing request
  2. confirm email arrives
  3. open the link from the email
  4. resend request
  5. cancel request
  6. duplicate request
  7. verify reopened/duplicated request still generates a valid link

6. Multi-Signer Flow

Test both routing modes.

Parallel

  1. create a 2-signer request
  2. confirm both links are active
  3. sign in either order
  4. confirm both completion records are consistent
  5. if contact masking is enabled, confirm signer 1 sees signer progress but not signer 2's real name/email

Sequential

  1. create a 2-signer request
  2. confirm only signer 1 is active
  3. complete signer 1
  4. confirm signer 2 becomes active
  5. confirm next-signer email triggers when configured
  6. confirm signer 2 sees signer 1 as completed
  7. if contact masking is enabled, confirm non-self signer details stay masked throughout the flow

7. Templates

  1. create template from a real uploaded PDF
  2. enter Prepare directly
  3. place fields
  4. save template
  5. reopen template
  6. confirm fields/signer metadata persist

8. Bulk Send

  1. upload/select source document
  2. import multiple recipients
  3. send in batch
  4. confirm fallback behavior still works if edge batching fails
  5. confirm each recipient gets a unique signing URL

8A. India Route

Use /india-desk.

  1. confirm the route opens independently of the standard /send page
  2. confirm the current active document is shown
  3. confirm signer recipients are inherited from the active document
  4. test each verification mode:
    • standard
    • verification-first
    • aadhaar-first scaffold
  5. confirm contact masking can be enabled from this route without changing the standard send route
  6. confirm witness/stamp paper toggles affect only the India route summary/message
  7. send a document from India Desk and confirm the audit trail records India-route usage

9. Webhooks And Storage

If license/webhook settings are configured:

  1. complete a signing session
  2. confirm webhook fires
  3. inspect delivery logs
  4. verify HMAC signature is present when secret is set
  5. confirm signed PDF upload path exists
  6. confirm signed URL expiry metadata looks correct

10. AI Detection

Using real PDFs:

  1. run field detection
  2. inspect placement quality on dense forms
  3. inspect sparse/simple agreements
  4. compare AI-assisted vs fallback behavior

11. Docs Site

  1. run npm run docs:dev
  2. open the docs site
  3. confirm sidebar/nav work
  4. confirm npm run build:docs passes
  5. once pushed, confirm GitHub Pages deployment completes

For each issue, capture:

  • environment/device
  • route used
  • exact steps
  • expected result
  • actual result
  • screenshot or recording
  • whether it reproduces consistently

Highest-Value Manual Checks Tomorrow

If time is limited, do these first:

  1. mobile signer link on iPhone Safari
  2. mobile signer link on Android Chrome
  3. sequential 2-signer request
  4. email delivery + open-from-email
  5. complete signing + webhook/storage verification
  6. masked-contact multi-signer flow in both parallel and sequential modes

Built for product, engineering, and operations teams shipping PDF signing flows.