Phase 207

Role Workbench Automated Smoke Test Matrix

This phase converts the Phase 206 metadata contract into exact smoke-test cases for all seven role workbenches, while keeping real backend and partner mutations gated.

Automation boundary

Matrix first, runner later

Phase 207 defines the automated smoke-test matrix only. It does not create a test runner, browser worker, CI job, API mutation, database write, payment execution, inventory movement, ledger post, or production auth bypass.

Roles

7

Actions

19

Suites

10

Role workbench matrix

selector-ready

Workbench route

Raw Material Supplier

/business-pro/supplier-action-workbench

Default action

profile

Default class

backend-guarded

Safe click rule

No submit click unless unauthenticated contract is being tested. Preview clicks do not exist for supplier.

profile

tab: profile

backend-guarded

Expect: backend-ready

offering

tab: offering

backend-guarded

Expect: backend-ready

quote

tab: quote

backend-guarded

Expect: backend-ready

Open workbench

Workbench route

Manufacturer

/business-pro/manufacturer-action-workbench

Default action

profile

Default class

backend-guarded

Safe click rule

Inspect only unless authenticated sandbox mutation is explicitly approved.

profile

tab: profile

backend-guarded

Expect: backend-ready

rfq

tab: rfq

backend-guarded

Expect: backend-ready

offering

tab: offering

backend-guarded

Expect: backend-ready

Open workbench

Workbench route

Wholesaler / Distributor

/business-pro/wholesaler-action-workbench

Default action

profile

Default class

backend-guarded

Safe click rule

Preview allocation packet may be clicked; backend guarded submits need auth sandbox approval.

profile

tab: profile

backend-guarded

Expect: backend-ready

offering

tab: offering

backend-guarded

Expect: backend-ready

wholesaleAllocationPreview

tab: allocation

preview-only

Expect: preview-ready -> PREVIEW_ONLY_PREPARED

Open workbench

Workbench route

Retailer / Shopkeeper

/business-pro/retailer-action-workbench

Default action

retailerProfile

Default class

backend-guarded

Safe click rule

Seller response preview may be clicked; shop/listing submits need auth sandbox approval.

retailerProfile

tab: profile

backend-guarded

Expect: backend-ready

productTruth

tab: listing

backend-guarded

Expect: backend-ready

sellerResponsePreview

tab: response

preview-only

Expect: preview-ready -> PREVIEW_ONLY_PREPARED

Open workbench

Workbench route

Customer / Family

/business-pro/customer-action-workbench

Default action

customerDemand

Default class

backend-guarded

Safe click rule

Family basket preview may be clicked; customer demand draft submit needs auth sandbox approval.

customerDemand

tab: demand

backend-guarded

Expect: backend-ready

familyBasketPreview

tab: basket

preview-only

Expect: preview-ready -> PREVIEW_ONLY_PREPARED

Open workbench

Workbench route

Rider / Logistics Provider

/business-pro/rider-action-workbench

Default action

carrierOffer

Default class

backend-guarded

Safe click rule

Handover proof preview may be clicked; carrier offer submit needs auth sandbox approval.

carrierOffer

tab: carrier

backend-guarded

Expect: backend-ready

riderProofPreview

tab: proof

preview-only

Expect: preview-ready -> PREVIEW_ONLY_PREPARED

Open workbench

Workbench route

Founder / Admin Ops

/business-pro/admin-action-workbench

Default action

partnerPaymentDraft

Default class

partner-gated

Safe click rule

Partner draft submit must not be clicked in general smoke tests. Exception and governance previews may be clicked.

partnerPaymentDraft

tab: payment

partner-gated

Expect: partner-draft-ready

adminExceptionPreview

tab: exception

preview-only

Expect: preview-ready -> PREVIEW_ONLY_PREPARED

adminGovernancePreview

tab: governance

preview-only

Expect: preview-ready -> PREVIEW_ONLY_PREPARED

Open workbench

Smoke suites

future runner

Route render

page URL + main[data-workbench-role]

Route loads, workbench root exists, role matches expected role ID, no browser error page.

Root metadata

main[data-workbench-role][data-active-action][data-action-class][data-submit-state]

Root action class and submit state match the selected default action.

Tab metadata

button[data-testid='workbench-tab-role-tabId'][data-workbench-action]

Every tab exposes stable tab test ID and action key.

Submit metadata

button[data-testid='workbench-submit-role-action']

Submit button has role, action, action class, and submit state attributes.

Payload preview

section[data-testid='workbench-payload-role-action']

Payload preview exists, matches current action, and is readable on mobile.

Preview-only result

section[data-testid='workbench-result-role'][data-result-state='PREVIEW_ONLY_PREPARED']

Preview actions produce local packet result without backend mutation.

Partner draft guard

data-action-class='partner-gated'

Admin payment draft stays partner-draft-ready and never claims payout or ledger truth.

Mobile width

documentElement.scrollWidth <= documentElement.clientWidth + 1

No horizontal spill at 390px viewport on all workbenches.

Forbidden wording

body text

No success copy claims wallet, payout, settlement, GRN, inventory, invoice, or ledger posting.

Safe error

data-error-code

Blocked results use safe error codes and never reveal stack traces, tokens, provider secrets, or internal finance.

Safe runner rules

What automated checks may and may not do

1Default smoke tests may open routes, inspect root metadata, inspect tab metadata, inspect payload metadata, and check mobile overflow.
2Default smoke tests may click preview-only tabs and preview-only submit buttons because they do not call backend mutations.
3Default smoke tests must not click backend-guarded submit buttons unless an explicit unauthenticated AUTH_REQUIRED test is being run.
4Default smoke tests must not click the partner payment draft submit button unless a licensed partner sandbox test has been explicitly approved.
5Authenticated mutation smoke tests require a seeded sandbox tenant, seeded role account, idempotency key, audit capture, and rollback/cleanup plan.
6No smoke test may create wallet truth, payout truth, settlement truth, inventory truth, invoice truth, GRN truth, or ledger truth.
7No smoke test may use production credentials, production partner configs, real customer data, or real payment/provider secrets.

Blocked success claims

A smoke test fails if workbench copy claims these

PaidWallet creditedPayout executedSettlement completedInventory postedGRN createdInvoice issuedLedger postedOrder confirmedStock reserved

Next phase

Phase 208: Workbench Smoke Runner Technical Design

Next we can design the actual Playwright/CI runner shape, fixture rules, sandbox account requirements, report output, and fail-fast policy.

Open Phase 208
Phase 206 Phase 208