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-check passes for this SHA.
  • CI passes for this SHA.
  • Use the local Tenant Administrator:
  • 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 [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:

Record which nickname you used as TEST_NICKNAME.


Test 01 — Canonical Person → Membership → Collaborator identity round-trip

Identity and context

  1. Sign out of any existing session.
  2. Sign in as:
  3. Confirm the active Tenant context is Default Tenant.
  4. Do not switch to Administration/global context during this test.

Create the Person through the UI

  1. From the application navigation, open People.
  2. Click New Person.
  3. In Personal, enter the selected manual-test values:
    • First Name
    • Last Name
    • Nickname
    • CPF
    • RG
    • Cellular
    • Email
    • Status = Active
  4. Click Create Person.
  5. Confirm the Person detail page opens for the Person you just created.
  6. Confirm the profile initially indicates that required Collaborator sections remain incomplete.

Complete the Person profile

  1. Open the Address tab.
  2. Enter:
    • Street 1 = 100 Canonical Road
    • Street 2 = Suite 30K1
    • State = Pará
    • City = Itaituba
    • CEP = 68180-000
    • Country remains Brasil
  3. Open the Bank tab.
  4. Enter:
    • Bank Name = Manual Bank
    • Bank Number = 001
    • Checking Account = 30K1-0001
    • PIX = the selected test PIX value
  5. Open the Emergency tab.
  6. Enter:
    • Emergency Contact Name = Manual Emergency
    • Emergency Cellular = the selected test emergency cellular
    • Emergency Email = the selected test emergency email
  7. Click Save Changes.
  8. Confirm the Person profile now shows Complete / eligible to become a Collaborator.
  9. Confirm a Create Collaborator action is visible on the Person page.

Create the Collaborator from the Person

  1. Click Create Collaborator from this Person page.
  2. Confirm the New Collaborator page identifies the selected Person and states that the Journey is created from an active Person–Tenant Membership.
  3. 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 = 0 if displayed
  4. Click Create Collaborator.
  5. Confirm creation succeeds without a validation error for membershipId.
  6. 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:

  1. Person ID is non-empty.
  2. Membership ID is non-empty.
  3. Person ID and Membership ID are different identifiers.
  4. 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.
  5. Click View Person.
  6. Confirm the application opens the same Person you created:
    • First Name = Manual30K1
    • Last Name = Canonical
    • Nickname = Canonical30K1
  7. 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:

Update canonical Person identity

  1. From the Person detail page opened at the end of Test 01, open Personal.
  2. Change Nickname from TEST_NICKNAME to:
    • Canonical30K1Updated if you used the primary data set; or
    • Canonical30K1BUpdated if you used the alternate data set.
  3. Record the new nickname as UPDATED_NICKNAME.
  4. Click Save Changes.
  5. Confirm the Person page displays UPDATED_NICKNAME.

Verify Collaborator search

  1. Use normal application navigation to open Collaborators.
  2. Focus the Collaborator filter/search field.
  3. Type UPDATED_NICKNAME.
  4. Confirm the matching Collaborator appears.
  5. Open it.
  6. Confirm Person Summary shows UPDATED_NICKNAME.
  7. Click View Person.
  8. Confirm it still opens the same Person and displays UPDATED_NICKNAME.

Verify downstream Expense Collaborator search

  1. Use normal application navigation to open Expenses.
  2. Click New Expense.
  3. Focus the Collaborator search field.
  4. Type UPDATED_NICKNAME.
  5. Confirm the matching active Collaborator appears in the Matching active collaborators selection list.
  6. Select it.
  7. Confirm the UI indicates that this Collaborator is selected.
  8. 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-check passes on SHA 3332f5c6149dabca24b7d9058dcf5062dd738bce;
  • 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.