Skip to content

ATS-PFM-CSH-015Explain why an application page cannot open — acceptance

Markdown

ATS-PFM-CSH-015

Explain why an application page cannot open — acceptance

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-PFM-CSH-015

KindAcceptance test setProduct areaPlatformModuleConsole Shell and NavigationRevision2

Read atreact-console baf6dae3services-platform ad3f6a65

Test Scenarios

6 scenarios proving CAP-PFM-CSH-015; 3 bound to an existing test.

01 Product unavailability takes precedence over personal denialunitnegativetest
Proves
BR-CAP-PFM-CSH-015-01 BR-CAP-PFM-CSH-015-02
Preconditions
The application is disabled and its item permission is absent.
Steps
Evaluate the shared page decision.
Expected
The result names the unavailable application rather than a personal permission refusal.
Data
Disabled-domain and missing-permission inputs.
Bound to
react-console:lib/console/application-guard.test.ts#says the application is not available, not that access was denied
react-console:lib/console/application-guard.test.ts#prefers the application's answer: nobody can grant a permission inside an application they do not have
react-console:lib/console/application-guard.test.ts#reads the domain out of the permission the page asks for
react-console:lib/console/application-guard.test.ts#names an application the way the console does
Source
react-console:lib/console/application-guard.test.ts#says the application is not available, not that access was denied
02 Missing task authority is explained inside an enabled productbrowsernegativeproposed
Proves
BR-CAP-PFM-CSH-015-03
Preconditions
The application is enabled and the requested permission is absent.
Steps
Render the guarded page.
Expected
The body presents a personal permission refusal.
Data
An enabled application with no task grant.
Source
react-console:lib/authz/guard.tsx:AccessDenied
03 Explicit and alternative domains guide the application checkunittest
Proves
BR-CAP-PFM-CSH-015-04
Preconditions
One page declares its domain; another declares two alternatives and has a usable task permission.
Steps
Evaluate both decisions.
Expected
The explicit domain overrides inference; one enabled alternative suffices when a requested permission also passes.
Data
Declared-domain and permission inputs.
Bound to
react-console:lib/console/application-guard.test.ts#takes the domain a page names over the domain its permissions imply
react-console:lib/console/application-guard.test.ts#opens a page any one of whose applications is available
react-console:lib/console/application-guard.test.ts#ignores keys that are not about an application
Source
react-console:lib/console/application-guard.test.ts#takes the domain a page names over the domain its permissions imply
04 The same destination distinguishes unavailable and usable workbrowsernegativeproposed
Proves
BR-CAP-PFM-CSH-015-01 BR-CAP-PFM-CSH-015-05 BR-CAP-PFM-CSH-015-06 AS-JNY-PFM-CSH-005-02
Preconditions
Two workspaces differ in application availability.
Steps
Open an application record destination in each.
Expected
One receives the unavailable body and return controls; the other reaches the record.
Data
Mock product availability and record data.
Source
react-console:components/console/application-route-gate.tsx:ApplicationRouteGate; components/console/application-unavailable.tsx:ApplicationUnavailable
05 An unrestricted page passes the shared decisionunittest
Proves
BR-CAP-PFM-CSH-015-08
Preconditions
The page declares neither permissions nor a domain.
Steps
Evaluate its page decision.
Expected
The decision allows the page.
Data
An unrestricted page declaration.
Bound to
react-console:lib/console/application-guard.test.ts#lets a page with no permission and no domain through
Source
react-console:lib/console/application-guard.test.ts#lets a page with no permission and no domain through
06 Application checking waits for destination workspace entrybrowsernegativeproposed
Proves
BR-CAP-PFM-CSH-015-05
Preconditions
A transition leads from an enabled workspace to one without the application.
Steps
Open that product destination during the transition.
Expected
The gate waits for the destination answer before showing its unavailable result.
Data
Two workspace answers with a delayed transition.
Source
react-console:components/console/application-route-gate.tsx:ApplicationRouteGate

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.