Skip to content

ATS-PFM-CSH-017Understand the workspace’s application availability — acceptance

Markdown

ATS-PFM-CSH-017

Understand the workspace’s application availability — acceptance

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-PFM-CSH-017

KindAcceptance test setProduct areaPlatformModuleConsole Shell and NavigationRevision2

Read atreact-console baf6dae3services-platform ad3f6a65

Test Scenarios

12 scenarios proving CAP-PFM-CSH-017; 7 bound to an existing test.

01 The administrator API separates permitted, forbidden and anonymous callersapinegativetest
Proves
BR-CAP-PFM-CSH-017-14
Preconditions
Callers cover a permitted administrator, a user without the read key and an anonymous session.
Steps
Request the workspace application list with each caller.
Expected
The administrator receives the list; the other callers receive forbidden and unauthenticated responses respectively.
Data
Licensing fixtures and an unsigned request.
Bound to
services-platform:modules/licensing/tests/e2e/licensing.e2e.spec.js#serves an administrator of the customer holding platform.tenant-applications.read
services-platform:modules/licensing/tests/e2e/licensing.e2e.spec.js#refuses a console user who does not hold that key, with 403
Source
services-platform:modules/licensing/tests/e2e/licensing.e2e.spec.js#serves an administrator of the customer holding platform.tenant-applications.read
02 Ordering and reasons are understandableunittest
Proves
BR-CAP-PFM-CSH-017-02 BR-CAP-PFM-CSH-017-03 BR-CAP-PFM-CSH-017-04
Preconditions
Application inputs cover available products and each unavailable state.
Steps
Sort the inputs and generate labels and explanations.
Expected
Available entries lead each name-ordered group, reasons are sentences, codes stay hidden and an ending licence does not change availability.
Data
Availability-state and date variants.
Bound to
react-console:lib/applications/availability.test.ts#lists the available applications first, then by name
react-console:lib/applications/availability.test.ts#gives a plain sentence for each way an application is unavailable
react-console:lib/applications/availability.test.ts#turns Platform's reason code into English and never shows the code
react-console:lib/applications/availability.test.ts#says nothing about an application that is simply working
react-console:lib/applications/availability.test.ts#tells somebody a licence is ending without calling the application unavailable
react-console:lib/applications/availability.test.ts#shows no enum token and no unreadable date
Source
react-console:lib/applications/availability.test.ts#lists the available applications first, then by name
03 The administrative page explains listed productsbrowsertest
Proves
BR-CAP-PFM-CSH-017-02 BR-CAP-PFM-CSH-017-03 AS-JNY-PFM-CSH-005-03
Preconditions
The workspace has available and unavailable products.
Steps
Open the Applications overview.
Expected
All returned products appear with labels and the unavailable product has an explanation.
Data
Mock application responses.
Bound to
react-console:e2e/mock/application-access.mock.spec.ts#the Applications page says which applications there are and why one cannot be used
Source
react-console:e2e/mock/application-access.mock.spec.ts#the Applications page says which applications there are and why one cannot be used
04 The administrator overview presents an available application in plain wordsbrowsertest
Proves
BR-CAP-PFM-CSH-017-03
Preconditions
The development fixture supplies an available application.
Steps
Open the customer administrator’s Applications overview.
Expected
The fixture’s application displays Available, the list contains several applications and no enum tokens are displayed.
Data
The development application fixture.
Bound to
react-console:e2e/dev/hq-licensing.dev.spec.ts#the tenant's own administrator reads Configuration › Applications with the same words
Source
react-console:e2e/dev/hq-licensing.dev.spec.ts#the tenant's own administrator reads Configuration › Applications with the same words
05 Initial loading, failure and empty results remain understandablebrowsernegativeproposed
Proves
BR-CAP-PFM-CSH-017-08
Preconditions
The application read is delayed, fails or returns no entries.
Steps
Open the overview for each response.
Expected
The body presents progress, retry after failure and the empty-list explanation respectively.
Data
Controlled initial application responses.
Source
services-platform:modules/licensing/tests/e2e/licensing.e2e.spec.js#refuses a console user who does not hold that key, with 403
06 Incomplete records reveal the permissive availability defaultunitnegativeproposed
Proves
BR-CAP-PFM-CSH-017-11
Preconditions
A keyed entry omits availability and has unreadable companion states.
Steps
Parse that entry and one explicitly marked unavailable.
Expected
The incomplete entry defaults to available; exactly false remains unavailable.
Data
Incomplete application records.
Source
react-console:lib/applications/types.ts:parseTenantApplication
07 Date formatting preserves a licence’s calendar dayunittest
Proves
BR-CAP-PFM-CSH-017-05
Preconditions
The formatter is loaded in a time zone behind UTC.
Steps
Format the supplied licence date.
Expected
The displayed calendar day agrees with Platform’s date.
Data
A date whose local midnight conversion could change the day.
Bound to
react-console:lib/applications/availability.test.ts#reads a licence date as the day Platform sent it, in a zone behind UTC
Source
react-console:lib/applications/availability.test.ts#reads a licence date as the day Platform sent it, in a zone behind UTC
08 Parser fallback preserves only identifiable entriesunitnegativetest
Proves
BR-CAP-PFM-CSH-017-09
Preconditions
Inputs include missing keys and unrecognized licence and operational states.
Steps
Parse the collection.
Expected
Missing-key entries are removed; unknown states become unlicensed and not set up.
Data
Parser boundary inputs.
Bound to
react-console:lib/applications/availability.test.ts#takes the records it understands and leaves out the ones it does not
react-console:lib/applications/availability.test.ts#treats a state it cannot read as no licence and an operation it cannot read as never set up
Source
react-console:lib/applications/availability.test.ts#takes the records it understands and leaves out the ones it does not
09 The overview menu entry requires its view authorityunitnegativeproposed
Proves
BR-CAP-PFM-CSH-017-10
Preconditions
Navigation inputs include and omit the application-view key.
Steps
Build Configuration application links.
Expected
The overview appears first when permitted and is omitted otherwise.
Data
Permission inputs for the overview link.
Source
react-console:components/console/nav-config.ts:configurationArea
10 Disabled workspace reads retain the explicit reach boundaryapinegativeproposed
Proves
BR-CAP-PFM-CSH-017-12
Preconditions
The requested workspace is disabled; callers cover permitted and unrelated customer scopes.
Steps
Read the workspace application list with both callers.
Expected
The permitted caller receives the list and the unrelated caller receives not found.
Data
A disabled workspace and two scoped administrator fixtures.
Source
services-platform:modules/tenants/aws/api/tenant-applications.routes.ts:tenantApplicationsRoutes
11 The customer answer withholds staff and commercial detailapitest
Proves
BR-CAP-PFM-CSH-017-13
Preconditions
The API fixtures include a staff grant, withholding and a suspension with a staff reason.
Steps
Read the application answer as a customer administrator for each fixture.
Expected
Application facts remain available while overrides, staff identities and staff reasons are absent; withholding is described as unlicensed.
Data
Licensing grant, withholding and suspension fixtures.
Bound to
services-platform:modules/licensing/tests/e2e/licensing.e2e.spec.js#answers each application with its key, name, licence state and dates, operation state and availability
services-platform:modules/licensing/tests/e2e/licensing.e2e.spec.js#carries no override at all, which is where every commercial detail would be
services-platform:modules/licensing/tests/e2e/licensing.e2e.spec.js#names nobody: not the staff member who decided, nor anyone who changed a state
services-platform:modules/licensing/tests/e2e/licensing.e2e.spec.js#says a withheld application is simply not licensed, never that Rhythm withheld it
services-platform:modules/licensing/tests/e2e/licensing.e2e.spec.js#says a suspended application is unavailable without saying why Rhythm stopped it
Source
services-platform:modules/licensing/tests/e2e/licensing.e2e.spec.js
12 The administrative overview requires console view authoritybrowsernegativeproposed
Proves
BR-CAP-PFM-CSH-017-01
Preconditions
Two workspace sessions differ in application-view authority.
Steps
Open Configuration home in both sessions.
Expected
The permitted session receives the overview and the other receives the console permission explanation.
Data
Permitted and refused mock sessions.
Source
react-console:components/configuration/applications/tenant-applications.tsx:TenantApplications; lib/authz/backend-aliases.ts:BACKEND_ALIASES

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.