---
id: TST-PFM-SEC-024
title: Security admin console checks
kind: browser-lifecycle
product_area: platform
module: security
revision: 2
status: draft
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
repository: react-console
files:
  - e2e/mock/security-admin.mock.spec.ts
implements:
  - ATS-PFM-SEC-008-11
environment: mock
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 10
isolation: The browser context and intercepted responses belong to this run.
assertion_evidence:
  - provenance: test
    source: 'react-console:e2e/mock/security-admin.mock.spec.ts#navigation'
  - provenance: test
    source: >-
      react-console:e2e/mock/security-admin.mock.spec.ts#Security lists exactly Users, Roles,
      Policies and Rhythm Access, each with an icon
  - provenance: test
    source: 'react-console:e2e/mock/security-admin.mock.spec.ts#the removed screens are gone'
  - provenance: test
    source: 'react-console:e2e/mock/security-admin.mock.spec.ts#users list'
  - provenance: test
    source: >-
      react-console:e2e/mock/security-admin.mock.spec.ts#filters on invitation state: Invited,
      Invitation Expired and Not Invited
  - provenance: test
    source: >-
      react-console:e2e/mock/security-admin.mock.spec.ts#a new invitation appears in the list as
      Invited
  - provenance: test
    source: >-
      react-console:e2e/mock/security-admin.mock.spec.ts#resends and revokes an invitation from a
      row's actions
  - provenance: test
    source: 'react-console:e2e/mock/security-admin.mock.spec.ts#user detail'
  - provenance: test
    source: >-
      react-console:e2e/mock/security-admin.mock.spec.ts#has exactly Profile, Roles, Access and
      History, and shows an invitation on Profile
  - provenance: test
    source: >-
      react-console:e2e/mock/security-admin.mock.spec.ts#somebody who accepted their invitation has
      no invitation section
  - provenance: test
    source: >-
      react-console:e2e/mock/security-admin.mock.spec.ts#Edit on a role restores its saved tenants
      and saves All, Selected and All again
  - provenance: test
    source: 'react-console:e2e/mock/security-admin.mock.spec.ts#role editor'
  - provenance: test
    source: >-
      react-console:e2e/mock/security-admin.mock.spec.ts#has no Typical Scope, and the rule picker
      reads the catalog from the customer route
  - provenance: test
    source: >-
      react-console:e2e/mock/security-admin.mock.spec.ts#without the policies key the inline rules
      are read-only rather than a refusal
dependency_evidence: >-
  The console runs in a browser with fixture data or intercepted responses. Assertions cover the
  displayed refusal, navigation or editing outcome; the substituted response does not establish
  server enforcement.
evidence:
  - 'react-console:e2e/mock/security-admin.mock.spec.ts'
  - >-
    Static review at the recorded source revision; executable results remain not-run and conformance
    remains not-verified.
binding_note: >-
  Each binding names the scenario to which this file contributes assertions. A binding is not a
  recorded pass and does not extend the file’s dependency boundary.
examiner: codex
examined_at: '2026-10-23'
final_text: OpenAI
---
# Security admin console checks

## Verification Boundary

The file drives console behavior with controlled data or responses. The assertion references identify the source checks for security admin.

## What This Suite Proves

The source assertions support the observations named in the bound scenarios. A scenario spanning multiple files must retain the other files’ contributions.

## What It Does Not Prove

This examination does not run the suite. Passing behavior, deployed conformance and the behavior of substituted dependencies require separate execution evidence.

## Real Dependencies and Test Doubles

The console runs in a browser with fixture data or intercepted responses. Assertions cover the displayed refusal, navigation or editing outcome; the substituted response does not establish server enforcement.

## Must Not Be Doubled

Keep the console code and browser navigation real. A controlled success or refusal must remain distinguishable from enforcement by the actual service.
