Showing 10 test cases
| ID | Scenario | Type | Priority | |
|---|---|---|---|---|
| TBL_001 | Static table renders every row and column Expected: All 5 columns and every product row are present in the DOM ✅ positivehigh | positive | high | |
| TBL_002 | Clicking a sortable header once sorts ascending Expected: Column header gets aria-sort="ascending" and rows reorder ✅ positivehigh | positive | high | |
| TBL_003 | Salary column sorts numerically, not lexically Expected: Ascending sort orders salaries from lowest to highest number ✅ positivemedium | positive | medium | |
| TBL_004 | Search input filters rows by employee name Expected: Only rows whose name contains the query text remain visible ✅ positivehigh | positive | high | |
| TBL_005 | Department dropdown filters rows by department Expected: Only rows matching the selected department remain visible ✅ positivemedium | positive | medium | |
| TBL_006 | Searching for a non-existent name shows the empty state Expected: "No employees match your filters." message is shown ❌ negativemedium | negative | medium | |
| TBL_007 | Paginated table shows the correct rows and info text per page Expected: "Showing 1–5 of 15" on page 1, with exactly 5 rows rendered ✅ positivehigh | positive | high | |
| TBL_008 | Next button is disabled on the last page Expected: The Next control cannot be activated on the final page ❌ negativemedium | negative | medium | |
| TBL_009 | Edit → Save updates a row's values inline Expected: Row exits edit mode and displays the newly saved values ✅ positivehigh | positive | high | |
| TBL_010 | Delete button removes the row from the DOM Expected: The row no longer exists and the remaining row count decreases ✅ positivehigh | positive | high |