Skip to content

ATS-PFM-CSH-015Explain why an application page cannot open: Capability Test Specification

Markdown

ATS-PFM-CSH-015

Explain why an application page cannot open: Capability Test Specification

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-PFM-CSH-015

Design

Executed by
TST-PFM-CSH-023

KindAcceptance test setProduct areaPlatformModuleConsole Shell and NavigationRevision3

Read atreact-console baf6dae3services-platform ad3f6a65rhythm-v2-docs 25e253cb

Coverage

  • Rule covered
  • Transition covered
  • Validation gap: FND-PFM-CSH-065
  • Permission gap: FND-PFM-CSH-065
  • Edge gap: FND-PFM-CSH-065
  • Failure gap: FND-PFM-CSH-065
  • Boundary gap: FND-PFM-CSH-065
  • Concurrency gap: FND-PFM-CSH-065
  • Invariant gap: FND-PFM-CSH-065
  • Interaction gap: FND-PFM-CSH-065

Test Scenarios

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

01 Application absence wins over missing task authorityruleunitnegativetest
Proves
BR-CAP-PFM-CSH-015-01 BR-CAP-PFM-CSH-015-02
Preconditions
The selected application is disabled and the requested task grant is absent.
Steps
Evaluate application classification and the shared destination decision.
Expected
The result identifies the unavailable product before personal task denial.
Data
Independent fixture inputs for the variants listed in this case.
Bound to
Source
react-console:lib/console/application-guard.test.ts#says the application is not available, not that access was denied
02 Enabled applications still require readable task authoritypermissionbrowsernegativeproposed
Proves
BR-CAP-PFM-CSH-015-03
Preconditions
The application is enabled but the destination’s task grant is missing.
Steps
Render the guarded destination.
Expected
The body explains personal permission refusal rather than application absence.
Data
An isolated browser context with the stated identity, workspace and response fixtures.
Source
react-console:lib/authz/guard.tsx:AccessDenied
03 Explicit and alternative application candidates shape entryinteractionunittest
Proves
BR-CAP-PFM-CSH-015-04
Preconditions
One fixture declares its application; another has two inferred candidates and a passing task grant.
Steps
Evaluate both destination decisions.
Expected
The explicit application governs its fixture; an enabled alternative and passing task grant allow the second fixture.
Data
Independent fixture inputs for the variants listed in this case.
Bound to
Source
react-console:lib/console/application-guard.test.ts#takes the domain a page names over the domain its permissions imply
04 The same record destination respects each workspace’s availabilityinteractionbrowsernegativeproposed
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 workspace fixtures differ in the target product’s availability.
Steps
Open the same kind of record destination in each.
Expected
The unavailable fixture shows its explanation and return controls; the usable fixture reaches the record.
Data
An isolated browser context with the stated identity, workspace and response fixtures.
Source
react-console:components/console/application-route-gate.tsx:ApplicationRouteGate; components/console/application-unavailable.tsx:ApplicationUnavailable
05 A page without declarations passes the shared decisionruleunittest
Proves
BR-CAP-PFM-CSH-015-08
Preconditions
The destination declares neither an application nor a permission.
Steps
Evaluate its shared entry decision.
Expected
The unrestricted decision allows entry.
Data
Independent fixture inputs for the variants listed in this case.
Bound to
Source
react-console:lib/console/application-guard.test.ts#lets a page with no permission and no domain through
06 Application refusal waits for destination contexttransitionbrowsernegativeproposed
Proves
BR-CAP-PFM-CSH-015-05
Preconditions
A destination transition leaves an enabled workspace for one without the application.
Steps
Open that product page while delaying the requested workspace answer.
Expected
The route gate waits for the destination context before presenting application unavailability.
Data
An isolated browser context with the stated identity, workspace and response fixtures.
Source
react-console:components/console/application-route-gate.tsx:ApplicationRouteGate
07 An unavailable destination leads to the explanatory overviewinteractionbrowserproposed
Proves
BR-CAP-PFM-CSH-015-06 BR-CAP-PFM-CSH-017-01
Preconditions
Membership is omitted from the session’s listed products.
Steps
Open Members directly and follow View Applications.
Expected
The unavailable body offers a route to the Applications overview; the overview applies its own page guard.
Data
A fresh browser context, isolated account fixtures and controlled responses for the listed transitions.
Source
rhythm-v2-docs:specs/platform/console-shell/planning/capabilities/CAP-PFM-CSH-015-say-plainly-when-a-page-belongs-to-an-application-the.md

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.