Skip to content

Test Case Register — Web Portal, Manage Lawyers (WPLAW)

Coverage Summary

Total TCs Automated Manual Pending Coverage %
23 0 0 23 0%
Critical High Medium Low
7 7 8 1

Test Case Table

1. Add Lawyer

TC ID Test Scenario AC Jira Priority Coverage Cucumber Tag Preconditions Test Data High-level Steps Expected Result Status Note
TC-WPLAW-001 Admin adds a new lawyer with valid data AC-WPLAW-01 RC-107 🔴 Critical 🔵 Pending @TC-WPLAW-001 Admin is on Manage Lawyers and selects Add Lawyer Full Name: QA Lawyer 99; First name: QA; Last name: Lawyer 99; Email: qalawyer99@gmail.com; Mobile: 0912345678; Status: active; Full address: 12 Test Street, Ho Chi Minh City; Rate: 4★ 1. Fill Full Name, First name, Last name, Email, Mobile, Status, Full address, Rate
2. Select Add
A new lawyer record is created and appears in the Manage Lawyers list with the entered data ⬜ Not Run Regresses reported bug: "can't add new lawyers" (comment 2026-07-14)
TC-WPLAW-002 Admin assigns an existing company to a lawyer from the Company name dropdown AC-WPLAW-02 RC-107 🟡 Medium 🔵 Pending @TC-WPLAW-002 Add Lawyer form is open; at least one company already exists Company: Reiner Holzapfel Karosseriebau-Lackierung 1. Open the Company name dropdown
2. Select an existing company
3. Fill remaining required fields and select Add
The selected company is stored as the lawyer's Company name and shown in the Company name column of the list ⬜ Not Run UI ref: 01_Features/lawyer/wp_lawyer/screens/Screenshot 2026-08-10 at 18.21.56.png

2. Edit Lawyer

TC ID Test Scenario AC Jira Priority Coverage Cucumber Tag Preconditions Test Data High-level Steps Expected Result Status Note
TC-WPLAW-003 Opening Edit shows the lawyer's current data AC-WPLAW-03 RC-107 🔴 Critical 🔵 Pending @TC-WPLAW-003 Lawyer Van Lawyer (Id 526688909) exists with known field values Lawyer Id 526688909 1. Open Manage Lawyers list
2. Select Edit for the lawyer
Edit Lawyer panel opens pre-filled with that lawyer's saved Full Name, First name, Last name, Email, Mobile, Status, Full address, Rate, and Company name — no field blank or stale ⬜ Not Run UI ref: 01_Features/lawyer/wp_lawyer/screens/Screenshot 2026-08-10 at 18.22.02.png
TC-WPLAW-004 Saving an edit persists and immediately reflects the new data AC-WPLAW-04 RC-107 🔴 Critical 🔵 Pending @TC-WPLAW-004 Edit Lawyer panel is open for an existing lawyer New Mobile: 0987654321 1. Change the Mobile field
2. Select Save
3. Observe the Manage Lawyers list without reloading the page
The lawyer record is updated; the list row shows the newly saved Mobile value immediately, without a manual page reload ⬜ Not Run
TC-WPLAW-005 Cancelling an edit discards unsaved changes AC-WPLAW-05 RC-107 🟡 Medium 🔵 Pending @TC-WPLAW-005 Edit Lawyer panel is open for an existing lawyer Mobile field changed to 0900000000 (not saved) 1. Change the Mobile field
2. Select Cancel
3. Re-open Edit for the same lawyer
Panel closes without saving; re-opened Edit panel shows the original Mobile value, unchanged ⬜ Not Run

3. Delete Lawyer

TC ID Test Scenario AC Jira Priority Coverage Cucumber Tag Preconditions Test Data High-level Steps Expected Result Status Note
TC-WPLAW-006 Selecting Delete opens a confirmation prompt AC-WPLAW-06 RC-107 🟠 High 🔵 Pending @TC-WPLAW-006 Admin is viewing the Manage Lawyers list Lawyer: Van Lawyer 1. Select Delete on a lawyer's row Confirmation modal opens: "Are you sure you want to delete this record?" with Yes, I'm sure / No, cancel ⬜ Not Run UI ref: 01_Features/lawyer/wp_lawyer/screens/Screenshot 2026-08-10 at 18.22.08.png
TC-WPLAW-007 Confirming delete removes the row from the list immediately AC-WPLAW-07 / BR-WPLAW-04 RC-107 🔴 Critical 🔵 Pending @TC-WPLAW-007 Delete confirmation modal is open for a lawyer Lawyer: a disposable test record 1. Select Yes, I'm sure
2. Observe the list without reloading the page
The lawyer record is deleted; its row disappears from the list immediately, without a page reload ⬜ Not Run Regresses reported bug: "Delete not remove item, need to reload page" (comment 2026-07-22)
TC-WPLAW-008 Confirming delete updates the total record count immediately AC-WPLAW-08 / BR-WPLAW-04 RC-107 🟠 High 🔵 Pending @TC-WPLAW-008 Delete confirmation modal is open for a lawyer; list currently shows N total records N = current total record count 1. Note the current total record count N
2. Select Yes, I'm sure
3. Observe the total count without reloading
The displayed total record count decreases to N−1 immediately, without a manual page reload ⬜ Not Run Regresses reported bug: "delete item but number total not decrease" (comment 2026-07-23)
TC-WPLAW-009 Cancelling the delete prompt keeps the record unchanged AC-WPLAW-09 RC-107 🟡 Medium 🔵 Pending @TC-WPLAW-009 Delete confirmation modal is open for a lawyer Lawyer: Van Lawyer 1. Select No, cancel Modal closes; the lawyer record remains in the list, unchanged ⬜ Not Run

4. List Display

TC ID Test Scenario AC Jira Priority Coverage Cucumber Tag Preconditions Test Data High-level Steps Expected Result Status Note
TC-WPLAW-010 Every lawyer row shows a valid Id AC-WPLAW-10 RC-107 🟠 High 🔵 Pending @TC-WPLAW-010 Manage Lawyers list is populated with multiple lawyer records — 1. Open Manage Lawyers
2. Scan the Id column across all visible rows
Every row shows a correct, non-blank Id — no row has a missing/empty Id ⬜ Not Run Regresses reported bug: "Miss data ID column" (comment 2026-07-20)
TC-WPLAW-011 Company name displays correctly for lawyers that have one set AC-WPLAW-11 RC-107 🟠 High 🔵 Pending @TC-WPLAW-011 A lawyer record has a Company name assigned, e.g. Van Lawyer → ` (none) vsPhuoc Tu→'Nha Trang Cathedral'` Lawyer: Phuoc Tu; Company: 'Nha Trang Cathedral' 1. Open Manage Lawyers
2. Locate the lawyer's row
The Company name column shows 'Nha Trang Cathedral' for that row ⬜ Not Run Regresses reported bug: "List company not display" (comment 2026-07-14)

5. Filtering

TC ID Test Scenario AC Jira Priority Coverage Cucumber Tag Preconditions Test Data High-level Steps Expected Result Status Note
TC-WPLAW-012 Filtering by Full Name narrows the lawyer list AC-WPLAW-12 RC-107 🔴 Critical 🔵 Pending @TC-WPLAW-012 Multiple lawyers exist, some named Lawyer * Full Name: Lawyer 4 1. Open Filter by
2. Enter Lawyer 4 in Full Name
3. Select Apply
Only lawyers whose full name matches Lawyer 4 are shown ⬜ Not Run Regression baseline — comment 2026-07-28 logged Filter as "Pass"
TC-WPLAW-013 Filtering by Email narrows the lawyer list AC-WPLAW-13 RC-107 🟡 Medium 🔵 Pending @TC-WPLAW-013 Lawyers exist with distinct emails Email: qcemailtest.9999+lawyer4@gmail.com 1. Open Filter by
2. Enter the Email value
3. Select Apply
Only the lawyer(s) with that email are shown ⬜ Not Run
TC-WPLAW-014 Filtering by Mobile narrows the lawyer list AC-WPLAW-14 RC-107 🟡 Medium 🔵 Pending @TC-WPLAW-014 Lawyers exist with distinct mobile numbers Mobile: 0914442710 1. Open Filter by
2. Enter the Mobile value
3. Select Apply
Only lawyer(s) with that mobile number are shown ⬜ Not Run
TC-WPLAW-015 Filtering by Status narrows the lawyer list AC-WPLAW-15 RC-107 🟡 Medium 🔵 Pending @TC-WPLAW-015 Lawyers exist with distinct Status values, e.g. check status Status: check status 1. Open Filter by
2. Enter the Status value
3. Select Apply
Only lawyers with that status are shown ⬜ Not Run
TC-WPLAW-016 Filtering by Full address narrows the lawyer list AC-WPLAW-16 RC-107 🟡 Medium 🔵 Pending @TC-WPLAW-016 Lawyers exist with distinct addresses Full address: Nha Trang 1. Open Filter by
2. Enter the Full address value
3. Select Apply
Only lawyers whose address matches Nha Trang are shown ⬜ Not Run
TC-WPLAW-017 Filtering by Company name narrows the lawyer list AC-WPLAW-17 RC-107 🟠 High 🔵 Pending @TC-WPLAW-017 Lawyers exist under distinct companies, e.g. Werner Kobsch GmbH Autolackiertechnik Company name: Werner Kobsch GmbH Autolackiertechnik 1. Open Filter by
2. Enter the Company name value
3. Select Apply
Only lawyers belonging to that company are shown ⬜ Not Run

6. Import

TC ID Test Scenario AC Jira Priority Coverage Cucumber Tag Preconditions Test Data High-level Steps Expected Result Status Note
TC-WPLAW-018 Importing a valid .xlsx/.csv file adds the lawyers it contains AC-WPLAW-18 RC-107 🔴 Critical 🔵 Pending @TC-WPLAW-018 Admin has a well-formed .xlsx file with 3 lawyer data rows below a header row Import file: lawyers_import_valid.xlsx (3 rows) 1. Open Import
2. Browse/drag the valid file
3. Confirm the import
All 3 lawyer rows from the file are created and appear in the Manage Lawyers list ⬜ Not Run Regresses reported bug: "can't import/export lawyers" (comment 2026-07-14); retested Pass on Staging (comment 2026-07-29)
TC-WPLAW-019 Import rejects a file that isn't .xlsx or .csv AC-WPLAW-19 / BR-WPLAW-01 RC-107 🟡 Medium 🔵 Pending @TC-WPLAW-019 Import modal is open ("Files format should be xlsx, csv") Import file: lawyers.pdf 1. Browse/drag a .pdf file
2. Attempt to confirm the import
Import is rejected before processing; an error message states the accepted formats (xlsx, csv) ⬜ Not Run
TC-WPLAW-020 Import does not create a lawyer record from the file's header/title row AC-WPLAW-20 / BR-WPLAW-02 RC-107 🟠 High 🔵 Pending @TC-WPLAW-020 Import file's first row is the column header/title row (e.g. Full Name, First name, ...) Import file: lawyers_import_valid.xlsx 1. Import the file
2. Check the resulting lawyer records for one matching the header row's literal text
No lawyer record is created from the header row; only the data rows below it are imported ⬜ Not Run Regresses reported bug: "import title file also [fails]" (comment 2026-07-28)
TC-WPLAW-021 Imported Email values render as plain text, never as HTML markup AC-WPLAW-21 / BR-WPLAW-03 RC-107 🔴 Critical 🔵 Pending @TC-WPLAW-021 Import file's Email column contains raw HTML in one cell, e.g. <b>test@x.com</b> or a script-bearing payload Import file: lawyers_import_html_email.xlsx 1. Import the file
2. View the resulting lawyer's Email cell in the list
3. Inspect the rendered page content for that cell
The Email column shows the cell's content as plain, escaped text — no HTML tag is rendered and no script executes ⬜ Not Run Regresses reported bug: "show html in email column" (comment 2026-07-28) — security-relevant: verify output is escaped, not just visually different; flag to dev/security if raw HTML renders

7. Export

TC ID Test Scenario AC Jira Priority Coverage Cucumber Tag Preconditions Test Data High-level Steps Expected Result Status Note
TC-WPLAW-022 Exporting produces a downloadable file of the lawyer list AC-WPLAW-22 RC-107 🟠 High 🔵 Pending @TC-WPLAW-022 Admin is on the Manage Lawyers list — 1. Select Export
2. Wait for the download to complete
3. Open the downloaded file
A file downloads successfully and contains the currently listed lawyer records ⬜ Not Run Regresses reported bug: "can't import/export lawyers" (comment 2026-07-14)

8. UI / UX

TC ID Test Scenario AC Jira Priority Coverage Cucumber Tag Preconditions Test Data High-level Steps Expected Result Status Note
TC-WPLAW-023 Add/Edit/Filter Lawyer forms show clear separation between Company name and the action buttons AC-WPLAW-23 RC-107 ⚪ Low 🔵 Pending @TC-WPLAW-023 Add Lawyer, Edit Lawyer, or Filter panel is open — 1. Open each of Add Lawyer, Edit Lawyer, and Filter
2. View the bottom of the form
Visible spacing exists between the Company name field and the Cancel/Add/Save/Apply buttons — not visually crowded ⬜ Not Run Cosmetic ask (comment 2026-07-25/07-28); no exact spacing threshold specified — see AC open question

Gherkin Mapping (Automated TCs only)

No test cases are automated yet (all 23 are 🔵 Pending). Scenarios will be added here as automation is implemented.

Note Tag Reference

Tag Meaning
[FLAKY] Unstable — fails intermittently on CI. Check logs before rerunning
[BUG] Blocked by open bug — include ticket ID
[DEP] Depends on specific env, mock service, fixture, or config
[SKIP] Temporarily skipped — include reason and owner
[DATA] Requires complex or manual data setup