Commit graph

66 commits

Author SHA1 Message Date
Alexandre Brandizzi
338cc17b8a
fix(vendors): remove duplicate company heading (#139)
* fix(vendors): remove duplicate company heading

* test(vendors): align detail baseline with CI

---------

Co-authored-by: Codex Review Integration <codex-review@local.invalid>
Co-authored-by: Adam Moussa <166072409+amoussa1229@users.noreply.github.com>
2026-08-26 16:45:06 +00:00
Arthur Bassi
50764b707d fix(work-orders): restore blank alphanumeric WO number on create
Allow blank SH-provisional WO numbers and refresh the wizard visual baseline.
2026-08-26 08:20:18 -03:00
Arthur Bassi
402a4552f4 test(work-orders): refresh wo-new visual baseline
Regenerate the create-wizard screenshot on the CI Playwright Linux image.
2026-08-25 22:54:20 -03:00
Arthur Bassi
800671030f fix(work-orders): address review and CI for account on create
Search accounts on the server and show the missing-account wizard hint.
Split site-dialog state so the maintainability line cap passes.
2026-08-25 18:46:10 -03:00
Arthur Bassi
f0e420c7af Merge remote-tracking branch 'origin/dev' into feat/sh-117-wo-type-indicators
# Conflicts:
#	e2e/__screenshots__/work-orders/work-orders.visual.spec.ts/wo-filters.png
2026-08-25 17:49:50 -03:00
Arthur Bassi
838d79c2dd fix(work-orders): follow Aveta draft on Extra Docs while editing
Extras treated a persisted false as authoritative, so unsaved Aveta
toggles never reached the overlay. Refresh the filters visual baseline
for the Aveta Compliance section.
2026-08-25 13:36:38 -03:00
Arthur Bassi
e8a90a2a30
Merge branch 'dev' into feat/sh-117-wo-type-indicators 2026-08-25 12:02:28 -03:00
Arthur Bassi
7feea529a4
Merge branch 'dev' into feat/sh-165-board-pagination-perf 2026-08-25 12:01:26 -03:00
Alexandre Brandizzi
e8aff83786
Merge branch 'dev' into fix/ab/sh-182-remove-trade-arrows 2026-08-25 11:49:15 -03:00
Arthur Bassi
cb6d9ea00e test(work-orders): refresh mobile navigation visual baseline 2026-08-25 09:51:13 -03:00
Arthur Bassi
34c1e6d182 fix(work-orders): unblock pager e2e and refresh visual baselines 2026-08-25 09:23:47 -03:00
Arthur Bassi
4782d2e3b0 fix(work-orders): paginate board and search without loading the full dataset (SH-165) 2026-08-24 18:38:32 -03:00
Arthur Bassi
7a30335ab8 feat(work-orders): add per-WO Aveta indicators and advanced filter
Dispatchers can flag Aveta on Service and Notes and filter those rows
without a site-level attribute.
2026-08-24 15:16:51 -03:00
Arthur Bassi
737a52c4aa test(work-orders): wait for board heading before visual error alert 2026-08-24 10:50:38 -03:00
Arthur Bassi
54797f13ef test(work-orders): wait for visual error alert before asserting 2026-08-24 10:09:30 -03:00
Arthur Bassi
abc14ed8f9 fix(work-orders): unfreeze visual-spec timers for board error retry
Use setFixedTime so React Query can finish the 500 retry and render the alert.
2026-08-21 13:32:58 -03:00
Arthur Bassi
b50ebcff42 test(work-orders): refresh visual baselines after advanced filters 2026-08-21 13:24:38 -03:00
Arthur Bassi
9c355fb49e
Merge branch 'dev' into feat/sh-244-advanced-filter-fields 2026-08-21 13:05:19 -03:00
Arthur Bassi
f0dd32edd4
Merge branch 'dev' into feat/work-orders-visual-regression 2026-08-21 12:57:24 -03:00
Adam Moussa
9136f88d43
Merge branch 'dev' into fix/ab/sh-182-remove-trade-arrows 2026-08-21 11:56:14 -04:00
Arthur Bassi
eca04bcaa8 chore(work-orders): merge origin/dev into advanced filter branch
Keep SH-244 query-param tests alongside the WO type filter union from dev.
2026-08-21 12:35:57 -03:00
Arthur Bassi
1ed993a353
fix: Update e2e/work-orders/type-filter.spec.ts
Co-authored-by: Alexandre Brandizzi <alex_brandizzi@hotmail.com>
2026-08-21 11:47:18 -03:00
Codex Review Integration
01a7a22c07 fix(vendors): remove obsolete trade reorder controls (SH-182) 2026-08-21 11:42:06 -03:00
Arthur Bassi
27a5c4eaf2 test(work-orders): refresh visual baselines after board layout changes
Regenerate Docker snapshots against current week/day chrome and pagination.
2026-08-20 23:48:27 -03:00
Arthur Bassi
9d39d5bb14 ci(work-orders): add Playwright visual regression to CI
Run board screenshots in the existing Docker visual job with vendors.
2026-08-20 23:24:14 -03:00
Arthur Bassi
776d3ebd9c
Merge branch 'dev' into feat/sh-244-advanced-filter-fields 2026-08-20 22:07:10 -03:00
Arthur Bassi
1d9f3c3637 test(work-orders): drop Jira keys from advanced filter test names
Keep ticket identity on the branch and PR, not in Playwright or Vitest titles.
2026-08-20 22:02:59 -03:00
Arthur Bassi
723f84e80a
Merge branch 'dev' into cursor/sh-243-wo-type-filter-multiselect 2026-08-20 22:00:08 -03:00
Arthur Bassi
93ab14abf3 feat(work-orders): add SH-244 advanced filter fields and AAP indicator styles 2026-08-20 18:34:29 -03:00
Alexandre Brandizzi
35bfb9b7c8 fix(vendors): correct roster validation and editing 2026-08-20 18:25:34 -03:00
Arthur Bassi
919748a274 fix(work-orders): expose type filter selection state to AT
Menu roles and aria-checked match the multi-select. Trigger uses AAP Tag icon.
2026-08-20 17:20:10 -03:00
Arthur Bassi
f522c46911 chore(work-orders): merge origin/dev into SH-243 type filter branch 2026-08-20 16:43:26 -03:00
Arthur Bassi
e8efde5fbc feat(work-orders): add multi-select All types filter (SH-243)
Dispatchers can select several WO types so the board shows the union of matching rows.
2026-08-20 16:32:30 -03:00
Arthur Bassi
8614f9415c feat(work-orders): relocate dispatcher filter under the title (SH-242)
Place dispatcher scoping under the Work Orders heading as a plain
trigger so the week/day bar stays boxed, without changing board params.
2026-08-20 15:53:03 -03:00
Arthur Bassi
75c82e90a5
Merge branch 'dev' into feat/sh-241-wo-day-pagination 2026-08-20 11:37:01 -03:00
Arthur Bassi
e6567c2c0a
Merge branch 'dev' into feat/sh-241-wo-day-pagination 2026-08-20 11:26:47 -03:00
Alexandre Brandizzi
3141adba13
Merge branch 'dev' into feat/sh-254-fe-deactivate-confirm 2026-08-20 11:24:12 -03:00
Arthur Bassi
91f30304a2 Merge branch 'dev' into feat/sh-241-wo-day-pagination 2026-08-20 11:16:17 -03:00
Alexandre Brandizzi
326ac18eb0
Merge branch 'dev' into feat/sh-254-fe-deactivate-confirm 2026-08-20 11:15:10 -03:00
Codex Review Integration
aebb2c6b1a Merge remote-tracking branch 'origin/dev' into feat/sh-253-vendor-detail-parity
# Conflicts:
#	src/test/app/(protected)/vendors/vendor-detail-drawer.test.tsx
2026-08-20 11:14:51 -03:00
Alexandre Brandizzi
fc63948d4e
Merge branch 'dev' into feat/sh-254-fe-deactivate-confirm 2026-08-20 10:58:38 -03:00
Alexandre Brandizzi
4e36396868
Merge branch 'dev' into feat/sh-253-vendor-detail-parity 2026-08-20 10:58:34 -03:00
Alexandre Brandizzi
8edcb6659d
Merge branch 'dev' into feat/sh-250-fe-additive-add 2026-08-20 10:58:26 -03:00
Arthur Bassi
0c514c9bad feat(work-orders): add per-day board pagination (SH-241)
Paginate the selected day's WOs client-side with AAP footer controls.
2026-08-20 10:08:34 -03:00
Arthur Bassi
2c14b08945 feat(work-orders): day-scoped week navigation (SH-240)
Let dispatchers pick one week and one weekday so the board
replaces rows instead of stacking the full week.
2026-08-19 14:45:59 -03:00
Codex Review Integration
670d03d572 test(vendors): update the deactivation e2e to the confirmation flow (SH-254)
The browser smoke encoded the behaviour this ticket changes: it asserted
the Deactivate button was disabled when work orders were linked. It now
asserts the opposite — the work orders are listed as links, "Deactivate
anyway" is enabled, and confirming sends confirmOpenWorkOrders=true.

Also fixes the mock's DELETE route, whose anchored pattern stopped
matching once the request carried a query string. The raced-409 case is
unchanged and still preserves the vendor.
2026-08-19 14:29:01 -03:00
Codex Review Integration
4e5863def5 test(vendors): refresh the vendor detail visual baseline (SH-253)
Regenerated in the CI Playwright image so the baseline matches the
container's rendering. Only vendor-detail changed; the list and edit
baselines are untouched, which confirms extracting the table's status
badge left that view pixel-identical.
2026-08-19 13:43:02 -03:00
Codex Review Integration
9624c264de fix(vendors): send only user-edited company fields on additive add (SH-250)
Adversarial review found a last-writer-wins window: after a stale 409 the
roster is refetched while the form keeps its pre-conflict values, so the
form-vs-roster diff resent our stale value for any company field another
user changed in that window, silently reverting their edit.

Transmit only fields the user actually edited, taken from react-hook-form
dirty state. Selecting a company calls reset(), so loaded values are never
dirty and only genuine edits are sent.

dirtyFields is resolved during render: formState is a Proxy that only tracks
properties read at render time, so reading it inside the submit callback
returned empty. The vendors E2E caught that; unit tests could not, since
they pass the flags in directly.
2026-08-18 14:42:01 -03:00
Codex Review Integration
4d1f02b87d test(vendors): e2e asserts additive PATCH and no destructive PUT from add flow (SH-250, SH-246) 2026-08-18 13:13:04 -03:00
Alexandre Brandizzi
c0e203a090 feat(uplifts): complete SH-101 vendor workflow 2026-08-11 08:57:38 -03:00