Project

General

Profile

Feature #3250

Updated by Bot AI about 2 months ago

### Overview 
 Feature for the web side. 28 test case(s) generated. 

 ### Requirement 
 "UI Bug fixes" 

 Attached file (read it directly for the real content): /opt/drcarrot-deploy/cross-repo-orchestration/contracts/.attachments/dev-hub-spec-twhXSJXa7BbAYdn2C-requirement-1.md 

 Attached file (read it directly for the real content): /opt/drcarrot-deploy/cross-repo-orchestration/contracts/.attachments/dev-hub-spec-SCNiyQbx6bXCxZBaL-OMS_Screens__standalone___2_.html 

 ### Explicit Constraints 
 * Do not skip any requirement. _scope/implementation_ 
 * We do not need the Status column in the Expenses List. Remove the Status column from the Expenses List. _screens/UI — Expenses List_ 
 * Do not disable the field unless there is a specific business requirement. _screens/UI — New Expense Date field_ 
 * Do not limit this fix only to Supplier and Project. Please review all list/table screens and identify columns that should support sorting. _scope — sorting implementation_ 
 * No authenticated layout (Sidebar/Header) should remain visible after logout/session termination. _screens/UI — Reset Password / authentication flow_ 
 * Do not leave stale authentication/session state in the application. _existing behavior — session/auth state_ 
 * Fix the common/root cause wherever possible instead of creating screen-specific workarounds. _scope/implementation approach_ 
 * Do not assume that fixing one screen means the requirement is complete. Check all applicable screens. _scope — coverage of fixes_ 
 * The task should not be considered complete until every item above has been implemented and individually verified. _scope/completion criteria_ 

 ### Acceptance Criteria 
 (none extracted — spec-extract has not run for this session) 

 ### Test Cases 
 ☐ Every list screen that shows a Status column renders the status as a chip/badge element rather than plain text. 
 ☐ Each status chip renders with the exact background color, text color, border/border-radius, padding, and typography specified in the OMS_Screens design reference for that status value. 
 ☐ Status chip rendering is implemented as one reusable StatusChip component, and every list screen showing status imports and renders that same component rather than a screen-local copy. 
 ☐ The Expenses List screen no longer renders a Status column at all. 
 ☐ Status-related UI logic that is no longer needed (status filter controls, status-derived styling/sorting hooks tied to the removed column) is removed from the Expenses List implementation. 
 ☐ The Date field on the New Expense screen is enabled/editable, not disabled. 
 ☐ Clicking/triggering the New Expense Date field opens a working date picker. 
 ☐ Selecting a different date in the New Expense date picker updates the Date field's value accordingly. 
 ☐ The selected date on the New Expense screen is displayed using the correct, consistent date format. 
 ☐ The date value selected on the New Expense screen is submitted correctly to the API when the expense is saved. 
 ☐ On any list screen where the data set has only one row, the sort control/icon for that list's columns is hidden. 
 ☐ On list screens with multiple rows, the sort control/icon is shown for columns that are sortable. 
 ☐ The Supplier column supports sorting via the UI wherever it appears in a multi-row list. 
 ☐ Sorting by the Supplier column is correctly applied via the backend/API, not only re-ordered client-side. 
 ☐ The Project column supports sorting via the UI wherever it appears in a multi-row list. 
 ☐ Sorting by the Project column is correctly applied via the backend/API, not only re-ordered client-side. 
 ☐ Across all list/table screens, the sort icon appears only on columns that are genuinely sortable and never on non-sortable columns. 
 ☐ Clicking a sortable column's control correctly toggles the list between ascending and descending order. 
 ☐ The sort icon/UI state (direction indicator, active-column highlight) accurately reflects the list's actual applied sort state at all times. 
 ☐ Backend/API sorting is correctly handled for every sortable column across all list/table screens, not just Supplier and Project. 
 ☐ The Expenses Summary list no longer displays the literal text 'View Details' as its view action. 
 ☐ The Expenses Summary view action is rendered as an icon matching the design's icon-based action style (icon choice, size, color, spacing, alignment) used on other list screens. 
 ☐ Clicking the Expenses Summary view icon opens the correct Expense Summary details for that specific row. 
 ☐ Submitting a password reset in the Reset Password flow completes successfully end to end. 
 ☐ After a successful password reset, session/authentication state is handled by the reset flow's own logic rather than unconditionally triggering the generic logout flow. 
 ☐ After a successful password reset, the user is redirected to the Login screen. 
 ☐ After the Reset Password redirect (and after any logout/session termination generally), the Login screen renders standalone with no authenticated Sidebar/Header remaining. 
 ☐ After the Reset Password flow completes, no stale authentication/session state (tokens, cached user, auth headers) remains anywhere in the application. 

 ### Implementation Details 
 #### Merge Request 
 * **Repository:** oms/oms-web 
 * **Branch:** feat/3250-oms-ui-bug-fixes-chips-s 
 * **MR:** https://gitlab.techbumbles.co.in/oms/oms-web/-/merge_requests/10 

 #### Commits 
 * fbcaca8 Contract (oms-bug-fixes) 
 * 2fa4249 4. Dead Code (oms-bug-fixes) 
 * 815264d UI Implementation (oms-bug-fixes) 
 * 6002e6a Data Layer (oms-bug-fixes) 

 ### Verification 
 #### Quality Gates 
 * **1. Unit Tests:** SKIPPED (populated once implementation completes — 0 passed / 0 failed, 0% coverage 
 * (1. Unit Tests at SKIPPED (human override — see gate_override in approvals_index) could not be attached — see log above) 
 * **2. TypeScript:** PASS — 0 error(s) 
 * 2. TypeScript attached: W11_gate_typescript-oms-bug-fixes.txt 
 * **3. Lint:** PASS — 0 error(s), 0 warning(s) 
 * 3. Lint attached: W12_gate_lint-oms-bug-fixes.txt 
 * **4. Dead Code:** PASS 
 * 4. Dead Code attached: W13_gate_dead-code-oms-bug-fixes.txt 
 * **5. Code & Style Quality Audit:** FAIL 
 * 5. Code & Style Quality Audit attached: W14_gate_quality-audit-oms-bug-fixes.txt 
 * **6. Design Consistency Audit:** FAIL 
 * 6. Design Consistency Audit attached: design-consistency-audit-3250.txt 
 * **7. Responsive Audit:** FAIL 
 * 7. Responsive Audit attached: responsive-audit-3250.txt 
 * **Code Review:** NEEDS_CHANGES 
 * **UI Verify:** FAIL 
 * UI Verify attached: ui-verify-3250.txt the run's completion note on this ticket for the real commit list and MR link) 

 #### UI ### Verification 
 FAIL 
 * **Match:** 56/73 fields (76.7%) 
 * **Screens verified:** Orders, Item List, Uom List, Supplier List, Project List, Expense List, Expense Summary, Project-1, Add Expense, Reset Password 
 Business Logic Verification: FAILED 
 * (Live (populated once verification evidence at /tmp/oms-web-w30-live-verify-evidence.txt (+ screenshot /tmp/lv-A-stuck-on-login.png) could not be attached completes — see log above) the run's completion note on this ticket for UI/live-verification evidence) 

 --- 
 Orchestration slug: oms-bug-fixes (side: web)

Back