Bite 32.6.2 — Manual Promotion Test Suite - RodrigoMattosoSilveira/EnterpriseRemoteSystems GitHub Wiki

Bite 32.6.2 — Manual Promotion Test Suite

Promotion Candidate

Bite:   32.6.2 — Entity Executive Read-Only Tenant Role
Branch: 910-bite-3262-entity-executive-read-only-tenant-role
SHA:    554516e417ff7da2e1df7b3d5825df7b73ded1b3

The attached ZIP was verified to contain the exact committed SHA above.

Because all LOCAL and CI tests pass, perform the following 4 targeted manual tests before promotion.

The suite is deliberately UI-driven.

No SQL, direct API calls, DevTools commands, or manually entered application URLs are required.


Test 01 — Tenant Administrator Grants the Entity Executive Read-Only Role

Purpose

Verify that a Tenant Administrator can provision a Person with authentication and grant the new Tenant-scoped:

TENANT_VIEWER

Role entirely through the ERS UI.

Also verify that the Role is presented to users as:

Entity Executive (Read Only)

and remains distinct from the existing operator Roles.

Sign-In Identity

Sign in as:

Name:     Mariana Alves
Role:     Tenant Administrator
Login:    [email protected]
Password: Demo-31.4-Brasil!

Required Context

Entity: Mineração Serra Dourada — DEMO
Locale: en-US

Prerequisites

Use the Brazilian demo database.

If a clean database is required:

make brazilian-demo-local-reset
make brazilian-demo-local-verify

Start the backend:

ERS_DATABASE_PATH=data/brazilian-demo.db make local-backend

Start the frontend in another terminal:

make local-frontend

√ Before starting, confirm no Person named:

Manual Executive 32.6.2

already exists.

Test Data

Create the Person using:

First name: Manual
Last name:  Executive 32.6.2
Nickname:   Executive Read Only
CPF:        32620000190
RG:         MANUAL-3262-EXEC
Cellular:   +55 11 99876-3262
Email:      [email protected]
Status:     Active

Use these authentication values if the UI requires them:

Temporary password:
Manual-32.6.2-Temp!

Permanent password:
Manual-32.6.2-Exec!

Steps

  1. Open ERS normally.
  2. Sign in as Mariana Alves.
  3. Confirm the selected Entity is Mineração Serra Dourada — DEMO.
  4. Confirm the language is English (United States).
  5. Using the normal navigation, open People.
  6. Select the UI action for creating a new Person.
  7. Enter the exact test data above.
  8. Save the Person.
  9. Confirm creation succeeds.
  10. Open the newly created Person through the People UI.
  11. Locate the Authentication section.
  12. Confirm the Person does not yet have usable authentication.
  13. Use the UI to enable authentication.
  14. If asked for a temporary password, enter Manual-32.6.2-Temp!.
  15. Confirm the temporary password.
  16. Complete the authentication-provisioning action.
  17. Record the Authentication Account login shown by ERS.
  18. Confirm the login is [email protected].
  19. Confirm ERS shows the Authentication Account and Tenant Actor associated with the Person.
  20. Using normal navigation, open Authorization.
  21. Confirm the page heading is Tenant Authorization.
  22. Locate Filter People / Actors.
  23. Enter Executive Read Only.
  24. Confirm the newly created Person/Actor appears.
  25. Confirm the Actor belongs to Mineração Serra Dourada — DEMO.
  26. Locate Grant a Role for this Actor.
  27. Click the Role selector.
  28. Confirm the selector includes TENANT_VIEWER, EARNINGS_OPERATOR, and EXPENSE_OPERATOR.
  29. Confirm TENANT_ADMIN is not offered in this selector.
  30. Select TENANT_VIEWER.
  31. Confirm its user-facing presentation is Entity Executive (Read Only).
  32. Click Grant Role.
  33. Wait for the success confirmation.
  34. Confirm Current Role Grants now includes TENANT_VIEWER.
  35. Confirm the Role is associated with the correct Person and selected Entity.

Values to Record

Person:
Authentication Account login:
Actor ID or Actor Key:
Selected Entity:
Granted Role:
Displayed Role label:

Expected Results

The Person has:

ACTIVE Person
+
ACTIVE same-Entity Membership
+
Authentication Account
+
Tenant Actor
+
TENANT_VIEWER Role Grant

The Role is presented as Entity Executive (Read Only).

PASS Criteria

PASS only if the Role can be granted entirely through the normal UI and the Actor clearly shows an active TENANT_VIEWER Role Grant.

Promotion-Blocking Conditions

Block promotion if:

  • TENANT_VIEWER is missing from the Role selector;
  • TENANT_ADMIN incorrectly appears as an ordinary delegable Role;
  • the Role is assigned to the wrong Person or Entity;
  • authentication provisioning fails;
  • Role granting produces an unexpected authorization or validation error;
  • another Entity's confidential Role information is exposed.

Test 02 — Entity Executive Can Read Entity Records but Cannot Modify Them

Purpose

Verify the primary Bite 32.6.2 requirement:

An Entity Executive can inspect Entity records broadly but cannot change them.

Sign-In Identity

First sign out completely from Mariana.

Then sign in as:

Role:  Entity Executive / TENANT_VIEWER
Login: [email protected]
Initial password: Manual-32.6.2-Temp!

First-Login Password Change

If ERS requires a password change:

  1. Complete the password-change workflow.
  2. Set Manual-32.6.2-Exec!.
  3. Use that password for the remaining tests.

Required Context

Entity: Mineração Serra Dourada — DEMO
Locale: en-US

Steps

A. Identity and Entity Context

  1. Confirm sign-in succeeds.
  2. Confirm the selected Entity is Mineração Serra Dourada — DEMO.
  3. Confirm the executive is not placed in the global Application Administration context.
  4. Inspect the normal navigation.

B. People

  1. Open People.
  2. Confirm the People list loads.
  3. Search for Rafael.
  4. Open Rafael's Person record.
  5. Confirm Person details are readable.
  6. Confirm Journey History is readable if exposed from the Person page.
  7. Inspect the available actions.
  8. Confirm the executive cannot perform actions such as:
    • Edit Person;
    • change Person lifecycle status;
    • modify Authentication;
    • create/remove Membership authority.

C. Collaborators and Journeys

  1. Navigate to Collaborators.
  2. Confirm the Collaborator list loads.
  3. Open an active Collaborator.
  4. Confirm the current Journey is readable.
  5. Confirm existing earnings/payment information is readable.
  6. Confirm Journey history is readable where available.
  7. Confirm the executive cannot:
    • create a Collaborator;
    • edit assignment/payment terms;
    • extend a Journey;
    • close a Journey;
    • perform settlement.

D. Expenses

  1. Navigate to Expenses.
  2. Confirm existing Expenses can be listed.
  3. Open an existing Expense.
  4. Confirm its details are readable.
  5. Confirm the executive cannot:
    • create an Expense;
    • edit an Expense;
    • cancel/delete an Expense.

E. Work Periods / Planning

  1. Navigate to Work Periods.
  2. Open an existing Work Period.
  3. Confirm assignments and planning information are readable.
  4. Confirm controls for changing planning/work data are unavailable or disabled.

F. Gold Production

  1. Navigate to Gold Production.
  2. Confirm existing Gold Production records are visible.
  3. Confirm there is no usable action to:
    • record new production;
    • edit production;
    • deactivate/delete production.

This validates the separation between gold_production.read and gold_production.manage.

G. Gold Prices

  1. Navigate to Gold Prices.
  2. Confirm existing Gold Price history is visible.
  3. Confirm there is no usable action to:
    • record a new Gold Price;
    • replace an existing Gold Price;
    • deactivate a Gold Price.

H. Reference Data

  1. Navigate to Reference Data.
  2. Confirm existing reference-data values are visible.
  3. Change the visible type/filter if available.
  4. Confirm records continue to load normally.
  5. Confirm the executive cannot:
    • create a Reference Data item;
    • edit an item;
    • deactivate an item;
    • reactivate an item.

I. Price List

  1. Navigate to Price List.
  2. Confirm existing Price List records are visible.
  3. Confirm mutation controls are unavailable.

J. Current Account

  1. Through the normal UI, navigate to a Collaborator's Current Account.
  2. Confirm:
    • summary information is readable;
    • ledger entries are readable;
    • receipt information is readable where applicable.
  3. Confirm the executive cannot perform:
    • payment;
    • correction;
    • settlement;
    • receipt lifecycle mutation.

Values to Record

People:                  readable / not readable
Collaborators:           readable / not readable
Expenses:                readable / not readable
Work Periods:            readable / not readable
Gold Production:         readable / not readable
Gold Prices:             readable / not readable
Reference Data:          readable / not readable
Price List:              readable / not readable
Current Account:         readable / not readable

Any mutation control unexpectedly enabled:

Expected Results

The Entity Executive can inspect representative business records within Mineração Serra Dourada — DEMO but cannot modify those records.

PASS Criteria

PASS only if all representative Entity records can be inspected and no tested business mutation can be initiated successfully.

Promotion-Blocking Conditions

Block promotion if:

  • representative Entity records required for executive oversight are inaccessible;
  • a mutation succeeds;
  • the executive receives TENANT_ADMIN-equivalent authority;
  • Application-level administration becomes accessible;
  • records belonging to another Entity are exposed;
  • ordinary read operations produce authorization failures.

Test 03 — Entity Executive Can Inspect Authorization and Audit State Without Administering It

Purpose

Verify that the Entity Executive can inspect security and governance information without obtaining authorization-administration authority.

Sign-In Identity

Remain signed in as:

Login: [email protected]
Role:  TENANT_VIEWER

Required Context

Entity: Mineração Serra Dourada — DEMO
Locale: en-US

Steps

A. Authorization

  1. Open Authorization through normal navigation.
  2. Confirm the page loads.
  3. Confirm Tenant Actors are visible.
  4. Locate Mariana Alves or another known Entity Actor.
  5. Inspect the Actor's current Role Grants.
  6. Confirm Role information is readable.
  7. Confirm the executive cannot:
    • activate an Actor;
    • deactivate an Actor;
    • grant TENANT_VIEWER;
    • grant EARNINGS_OPERATOR;
    • grant EXPENSE_OPERATOR;
    • revoke an existing Role Grant.
  8. If a Role selector is displayed for informational purposes, confirm it cannot be used to submit a Role change.

B. Authorization Audit

  1. Navigate to Audit Logs.
  2. Confirm the page loads.
  3. Inspect several existing audit entries.
  4. Use any visible filter controls.
  5. Confirm results remain scoped to Mineração Serra Dourada — DEMO.
  6. Confirm no other Entity identity or confidential Role information is exposed.

C. Support Access

  1. Navigate to Support Access.
  2. Confirm existing Support Access Lease history can be inspected if records exist.
  3. Open a Lease or its evidence if available.
  4. Confirm the executive cannot:
    • request an Application Administrator support lease;
    • approve a lease;
    • terminate a lease;
    • otherwise alter lease state.

D. Application Control Plane

  1. Inspect normal navigation.
  2. Confirm the executive does not have navigation entries for Application-level:
    • Tenants administration;
    • Authentication administration.
  3. Do not manually type direct URLs. Normal UI verification is sufficient because server-side denial is already covered by passing automated authorization tests.

Values to Record

Authorization page readable:
Role Grants readable:
Actor lifecycle mutation available:
Role Grant mutation available:
Audit Logs readable:
Support Access history readable:
Application-level Tenants navigation visible:
Application-level Authentication navigation visible:

Expected Results

The Entity Executive has:

READ:
- Tenant Actors
- Tenant Role Grants
- Tenant authorization audit
- Support Access history

NO MUTATION:
- Actor lifecycle
- Role granting
- Role revocation
- Support Access approval/termination
- Application administration

PASS Criteria

PASS if authorization and audit evidence are readable while all corresponding administrative mutation capabilities remain unavailable.

Promotion-Blocking Conditions

Block promotion if:

  • Role Grant mutation is available;
  • Actor activation/deactivation is available;
  • Support Access lifecycle mutation is available;
  • Application Administration is exposed;
  • another Entity's confidential authorization information appears.

Test 04 — Brazilian Portuguese Presentation and Explicit Role Revocation

Purpose

Verify:

  1. the new Role is correctly presented in pt-BR;
  2. Bite 32.6.1 Entidade terminology is preserved;
  3. explicit Role Grant revocation removes executive authority without damaging the underlying identity.

Phase A — Portuguese Executive Experience

Identity

Remain signed in as:

[email protected]

Steps

  1. Change the language to Português (Brasil).
  2. Confirm the selected Entity remains Mineração Serra Dourada — DEMO.
  3. Confirm ERS uses Entidade rather than Locatário.
  4. Open Authorization.
  5. Confirm the TENANT_VIEWER user-facing Role label is Executivo da Entidade (Somente Leitura).
  6. Navigate through the normal UI to at least:
    • Pessoas;
    • Colaboradores;
    • Despesas;
    • Produção de ouro;
    • Dados de referência;
    • Logs de auditoria, or the corresponding translated navigation item.
  7. Confirm each screen remains readable.
  8. Confirm mutation actions remain unavailable.
  9. Confirm no untranslated semantic keys appear, such as authz.tenantRoleDelegation.tenantViewer.
  10. Confirm the English phrase Entity Executive (Read Only) does not appear where the Portuguese Role label should be displayed.

Phase B — Revoke the Role

  1. Sign out from the executive account.

  2. Sign in as:

    Name:     Mariana Alves
    Login:    [email protected]
    Password: Demo-31.4-Brasil!
    
  3. Confirm Mineração Serra Dourada — DEMO is selected.

  4. Navigate to Authorization.

  5. Find Executive Read Only.

  6. Open the Actor's Current Role Grants.

  7. Locate TENANT_VIEWER.

  8. Use the normal UI to revoke/remove the Role Grant.

  9. Confirm ERS reports successful revocation.

  10. Confirm TENANT_VIEWER no longer appears as an active current Role Grant.

Phase C — Verify Executive Authority Is Gone

  1. Sign out from Mariana.
  2. Sign back in as [email protected].
  3. Use the permanent password Manual-32.6.2-Exec!.
  4. Confirm authentication still succeeds.
  5. Observe the first permitted page after login.
  6. Confirm the former executive no longer has Tenant-wide navigation that depended on TENANT_VIEWER.
  7. Confirm ERS did not:
    • delete the Person;
    • delete the Authentication Account;
    • silently restore another delegated Role;
    • silently grant TENANT_ADMIN.

Values to Record

pt-BR Role label:
Any untranslated key observed:
Any Locatário wording observed:
Role revocation result:
Account still authenticates after revocation:
Tenant-wide Viewer navigation remaining after revocation:

Expected Results

Before revocation:

TENANT_VIEWER
→ Executivo da Entidade (Somente Leitura)
→ read-only Entity authority

After revocation:

Authentication Account remains
Person remains
Membership remains
TENANT_VIEWER authority disappears

PASS Criteria

PASS if the Portuguese presentation is correct and explicit Role revocation removes executive authority without deleting or disabling the underlying Person/Account identity.

Promotion-Blocking Conditions

Block promotion if:

  • the Portuguese Role label is incorrect;
  • Locatário reappears;
  • untranslated translation keys appear;
  • TENANT_VIEWER authority remains after revocation;
  • revocation disables or deletes the Authentication Account;
  • another delegated Role is silently restored or granted.

Cross-Tenant Isolation

No additional manual cross-Tenant test is required for this promotion.

TENANT_VIEWER is defined as:

scope_type = TENANT

and therefore participates automatically in the Bite 32 generic cross-Tenant delegated Role-isolation invariant.

LOCAL and CI already provide database, backend, and browser-level coverage for this behavior.


Promotion Decision

Bite 32.6.2 is ready for promotion if:

[ ] Test 01 PASS — TENANT_VIEWER can be provisioned through the UI
[ ] Test 02 PASS — executive can read Entity records but cannot mutate them
[ ] Test 03 PASS — authorization/audit data is readable but not administrable
[ ] Test 04 PASS — pt-BR presentation and explicit Role revocation behave correctly

Any successful Tenant-record mutation while authenticated solely as TENANT_VIEWER is an immediate promotion blocker.

Glossary Impact

Glossary impact: none

The previously defined Bite 32.6.2 TENANT_VIEWER glossary entry, including gold_production.read, remains unchanged.