Bite 30K.1 — Manual Promotion Test Suite - RodrigoMattosoSilveira/EnterpriseRemoteSystems GitHub Wiki
Bite 30K.1 — Manual Promotion Test Suite
Promotion: Bite 30K.1 → Bite 30K
Branch: 789-bite-30k1-people-membership-and-collaborator-canonical-identity-cutover
SHA reviewed: 3332f5c6149dabca24b7d9058dcf5062dd738bce
Preconditions
- The application is running from the reviewed SHA.
make local-checkpasses for this SHA.- CI passes for this SHA.
- Use the local Tenant Administrator:
- Login:
[email protected] - Password:
Local-E2E-Administrator-28D!
- Login:
- Selected Tenant must be Default Tenant.
- Do not use direct URLs, DevTools, API calls, or SQL for these tests.
Manual test data
Use this primary data set:
| Field | Value |
|---|---|
| First Name | Manual30K1 |
| Last Name | Canonical |
| Nickname | Canonical30K1 |
| CPF | 731.942.680-31 |
| RG | 30K1-RG-001 |
| Cellular | (11) 98888-3001 |
[email protected] |
|
| Status | Active |
| Street 1 | 100 Canonical Road |
| Street 2 | Suite 30K1 |
| State | Pará |
| City | Itaituba |
| CEP | 68180-000 |
| Country | Brasil |
| Bank Name | Manual Bank |
| Bank Number | 001 |
| Checking Account | 30K1-0001 |
| PIX | [email protected] |
| Emergency Contact Name | Manual Emergency |
| Emergency Cellular | (11) 97777-3001 |
| Emergency Email | [email protected] |
If the primary CPF/email already exists because this suite was run previously, use this alternate identity while keeping all other values the same:
- Nickname:
Canonical30K1B - CPF:
348.759.120-05 - RG:
30K1-RG-002 - Cellular:
(11) 98888-3002 - Email:
[email protected] - PIX:
[email protected] - Emergency Cellular:
(11) 97777-3002 - Emergency Email:
[email protected]
Record which nickname you used as TEST_NICKNAME.
Test 01 — Canonical Person → Membership → Collaborator identity round-trip
Identity and context
- Sign out of any existing session.
- Sign in as:
- Login:
[email protected] - Password:
Local-E2E-Administrator-28D!
- Login:
- Confirm the active Tenant context is Default Tenant.
- Do not switch to Administration/global context during this test.
Create the Person through the UI
- From the application navigation, open People.
- Click New Person.
- In Personal, enter the selected manual-test values:
- First Name
- Last Name
- Nickname
- CPF
- RG
- Cellular
- Status = Active
- Click Create Person.
- Confirm the Person detail page opens for the Person you just created.
- Confirm the profile initially indicates that required Collaborator sections remain incomplete.
Complete the Person profile
- Open the Address tab.
- Enter:
- Street 1 =
100 Canonical Road - Street 2 =
Suite 30K1 - State =
Pará - City =
Itaituba - CEP =
68180-000 - Country remains
Brasil
- Street 1 =
- Open the Bank tab.
- Enter:
- Bank Name =
Manual Bank - Bank Number =
001 - Checking Account =
30K1-0001 - PIX = the selected test PIX value
- Bank Name =
- Open the Emergency tab.
- Enter:
- Emergency Contact Name =
Manual Emergency - Emergency Cellular = the selected test emergency cellular
- Emergency Email = the selected test emergency email
- Emergency Contact Name =
- Click Save Changes.
- Confirm the Person profile now shows Complete / eligible to become a Collaborator.
- Confirm a Create Collaborator action is visible on the Person page.
Create the Collaborator from the Person
- Click Create Collaborator from this Person page.
- Confirm the New Collaborator page identifies the selected Person and states that the Journey is created from an active Person–Tenant Membership.
- Use:
- Journey Start Date =
2026-09-01 - Status = Active
- Sector = Mining
- Location = Main Mine
- Task = Miner
- Payment Method = Daily wage
- Payment Value =
100.00 - Extension Days =
0if displayed
- Journey Start Date =
- Click Create Collaborator.
- Confirm creation succeeds without a validation error for
membershipId. - From the Collaborators list, open the Collaborator whose Person is Canonical30K1.
Verify canonical identity on Collaborator detail
On Person Summary, record:
- Person ID
- Membership ID
- Legacy Person ID, if displayed
Verify:
- Person ID is non-empty.
- Membership ID is non-empty.
- Person ID and Membership ID are different identifiers.
- If Legacy Person ID is displayed:
- it is non-empty;
- it differs from Person ID;
- it is visibly treated as legacy/compatibility information rather than the primary Person identity.
- Click View Person.
- Confirm the application opens the same Person you created:
- First Name =
Manual30K1 - Last Name =
Canonical - Nickname = Canonical30K1
- First Name =
- Confirm there is no:
404;- Access forbidden error;
- “Something went wrong” page;
- navigation to a different Person.
PASS criteria
PASS only if:
- Person creation and profile completion work entirely through the UI.
- Collaborator creation succeeds from the Person’s active Membership.
- Collaborator detail exposes a canonical Person ID and Membership ID.
- View Person returns to the exact originating Person.
- No legacy Person identifier is used as the visible primary identity or navigation target.
Promotion blockers
Block 30K.1 promotion if:
- Collaborator creation reports
membershipId: Required. - the created Collaborator belongs to the wrong Person;
- Person ID or Membership ID is missing;
- View Person produces an error or a different Person;
- the UI treats Legacy Person ID as the primary Person identity;
- any 500/internal error occurs.
Test 02 — Global Person update propagates to Collaborator and Expense search
This test depends on Test 01.
Identity and context
Remain signed in as:
- Login:
[email protected] - Role: Tenant Administrator
- Tenant: Default Tenant
Update canonical Person identity
- From the Person detail page opened at the end of Test 01, open Personal.
- Change Nickname from TEST_NICKNAME to:
Canonical30K1Updatedif you used the primary data set; orCanonical30K1BUpdatedif you used the alternate data set.
- Record the new nickname as UPDATED_NICKNAME.
- Click Save Changes.
- Confirm the Person page displays UPDATED_NICKNAME.
Verify Collaborator search
- Use normal application navigation to open Collaborators.
- Focus the Collaborator filter/search field.
- Type UPDATED_NICKNAME.
- Confirm the matching Collaborator appears.
- Open it.
- Confirm Person Summary shows UPDATED_NICKNAME.
- Click View Person.
- Confirm it still opens the same Person and displays UPDATED_NICKNAME.
Verify downstream Expense Collaborator search
- Use normal application navigation to open Expenses.
- Click New Expense.
- Focus the Collaborator search field.
- Type UPDATED_NICKNAME.
- Confirm the matching active Collaborator appears in the Matching active collaborators selection list.
- Select it.
- Confirm the UI indicates that this Collaborator is selected.
- Do not submit an Expense; navigate away or cancel.
PASS criteria
PASS only if:
- changing the Person nickname through the Person UI propagates to Collaborator display/search;
- Collaborators search finds the Person by the updated nickname;
- New Expense search finds the active Collaborator by the updated nickname;
- no stale search-index error is surfaced;
- all navigation continues to resolve the same canonical Person and Membership.
Promotion blockers
Block 30K.1 promotion if:
- Collaborators search cannot find UPDATED_NICKNAME;
- Expense Collaborator search cannot find UPDATED_NICKNAME;
- the old nickname remains the only searchable identity after save;
- the server/UI exposes
no such column: collaborator_search_index.membership_id; - any 500/internal error occurs;
- View Person resolves a different Person after the nickname change.
30K.1 Promotion Decision
Promote Bite 30K.1 into Bite 30K only when all of the following are true:
make local-checkpasses on SHA3332f5c6149dabca24b7d9058dcf5062dd738bce;- CI passes on the same SHA;
- Test 01 passes;
- Test 02 passes;
- no promotion blocker is observed.
No DevTools, API, or SQL verification is required for this manual suite.