Alexandre Brandizzi
d1b53105a2
fix(SH-357): reconcile Incomplete after clearing Schedule On
2026-10-01 16:27:24 -03:00
Alexandre Brandizzi
5ee2f6f374
test(workorders): seed service registry in browser fixtures
2026-09-30 19:43:06 -03:00
Alexandre Brandizzi
1746ded434
test(e2e): open wizard technician picker from its No technician state
2026-09-29 20:22:31 -03:00
Alexandre Brandizzi
64c53e9da0
fix(workorders): preserve explicit no-technician choice
2026-09-29 20:06:05 -03:00
Alexandre Brandizzi
262c93b41c
test(work-orders): assert completed status as display text
2026-09-29 19:13:51 -03:00
Alexandre Brandizzi
fdbb602e0c
test(work-orders): exercise reachable completion controls
2026-09-29 19:10:46 -03:00
Alexandre Brandizzi
5b4da11631
test(work-orders): use visible vendor and technician pickers
2026-09-29 19:05:34 -03:00
Alexandre Brandizzi
bfdc2dbdec
fix(work-orders): retain technician state across editors
2026-09-29 18:42:19 -03:00
Alexandre Brandizzi
5adde3723b
fix(work-orders): preserve explicit empty technician assignment
2026-09-29 18:22:30 -03:00
Alexandre Brandizzi
7d5d015602
fix: require undated drafts for Pending status
2026-09-29 13:04:51 -03:00
Alexandre Brandizzi
4771f6f8eb
test: cover pending schedule date promotion
2026-09-29 12:52:02 -03:00
Alexandre Brandizzi
a61ab1919a
test: find pending creation in unscheduled results
2026-09-29 12:43:38 -03:00
Alexandre Brandizzi
52b682283c
test: scope pending wizard selection assertion
2026-09-29 12:33:15 -03:00
Alexandre Brandizzi
123b1ec9b5
test: cover pending work order status workflows
2026-09-29 12:25:56 -03:00
Cursor Agent
c5e01c7491
test(e2e): match completion media uploads by filename
...
Assert concurrent JPG, MP4, and MOV multipart requests by filename instead of
arrival order so browser-smoke stays deterministic with two workers.
2026-09-20 21:37:34 +00:00
Alexandre Brandizzi
c9562650ca
Merge branch 'dev' into fix/ab/sh-364-inline-technician-registration
2026-09-18 11:59:16 -03:00
Codex Review Integration
abe28a3a7f
Merge remote-tracking branch 'origin/dev' into fix/ab/sh-364-inline-technician-registration
...
# Conflicts:
# src/app/(protected)/workorders/_components/wizard/use-new-wo-wizard-controller.ts
# src/app/(protected)/workorders/_components/wizard/wizard-step-location-service-select.tsx
# src/app/(protected)/workorders/_components/wizard/wizard-step-vendor-time.tsx
# src/test/app/(protected)/workorders/wizard-service-clears-vendor.test.tsx
2026-09-17 15:27:39 -03:00
Alexandre Brandizzi
b9c3b11a74
Merge branch 'dev' into fix/ab/sh-368-completion-uploads
2026-09-17 15:16:27 -03:00
Alexandre Brandizzi
3dbf3df5d5
Merge branch 'dev' into fix/ab/sh-364-inline-technician-registration
2026-09-17 14:26:40 -03:00
Alexandre Brandizzi
40779566c3
Merge branch 'dev' into fix/ab/sh-368-completion-uploads
2026-09-17 14:26:37 -03:00
Alexandre Brandizzi
e5df5b46c0
Merge branch 'dev' into fix/ab/sh-321-wizard-vendor-notes
2026-09-17 14:26:33 -03:00
Alexandre Brandizzi
d6518bc065
Merge branch 'dev' into feat/ab/sh-324-team-members-list
2026-09-17 13:28:10 -03:00
Codex Review Integration
c40f0c4a37
Merge remote-tracking branch 'origin/dev' into fix/ab/sh-364-inline-technician-registration
...
# Conflicts:
# src/app/(protected)/workorders/_components/wizard/use-new-wo-wizard-controller.ts
2026-09-17 13:26:17 -03:00
Codex Review Integration
dee81b0a44
Merge remote-tracking branch 'origin/dev' into fix/ab/sh-321-wizard-vendor-notes
...
# Conflicts:
# src/app/(protected)/workorders/_components/wizard/use-new-wo-wizard-controller.ts
2026-09-17 13:20:31 -03:00
Codex Review Integration
7cef338e34
Merge remote-tracking branch 'origin/dev' into feat/ab/sh-324-team-members-list
...
# Conflicts:
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-add.png
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-detail.png
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-edit.png
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-empty.png
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-error.png
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-filter.png
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-inactive.png
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-list.png
# e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-mobile-navigation.png
# e2e/__screenshots__/work-orders/work-orders.visual.spec.ts/wo-detail.png
# e2e/__screenshots__/work-orders/work-orders.visual.spec.ts/wo-empty.png
# e2e/__screenshots__/work-orders/work-orders.visual.spec.ts/wo-error.png
# e2e/__screenshots__/work-orders/work-orders.visual.spec.ts/wo-filters.png
# e2e/__screenshots__/work-orders/work-orders.visual.spec.ts/wo-list.png
# e2e/__screenshots__/work-orders/work-orders.visual.spec.ts/wo-new.png
2026-09-17 00:49:09 -03:00
Codex Review Integration
a4ce537ed6
test(work-orders): tolerate cold visual page startup (SH-324)
2026-09-16 22:50:55 -03:00
Codex Review Integration
49923c9a02
test(work-orders): target the Insert WO # placeholder in the SH number e2e
...
The inline create row now renders the empty WO # cell as a required
"Insert WO # *" field instead of "-", so the spec waited for a cell that
no longer exists.
2026-09-16 22:07:46 -03:00
Alexandre Brandizzi
a793e1c2d9
Merge branch 'dev' into fix/ab/sh-320-inline-sh-prefix-wo-number
2026-09-16 19:18:18 -03:00
Codex Review Integration
712d8e0dc6
fix(work-orders): clear stale technician drafts on selection changes
2026-09-16 16:50:26 -03:00
Codex Review Integration
4eb929e1c8
test(work-orders): remove query devtools overlay after navigation
...
Also drops ticket keys from shipped comments and test names.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 15:15:52 -03:00
Codex Review Integration
59a5bc9252
test(work-orders): clear query devtools overlay in mobile upload journey
...
Also drops ticket keys from shipped comments and test names.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 15:15:03 -03:00
Codex Review Integration
5d53b8e810
fix(api): send multipart uploads with their Content-Type (SH-368)
...
The shared ky instance declared Content-Type: application/json for every
request. Ky bakes instance headers into the Request it builds, so a FormData
body left with that header, and the beforeRequest hook that deleted it ran
after the boundary had already been dropped: the multipart body went out
with no Content-Type at all. ASP.NET then cannot bind [FromForm] fields, so
the completion-doc upload (dialog and slide-over "Upload signed PDF")
returned 400 "The file field is required.", media category updates arrived
without category or workOrderVersion, and the legacy edit form post lost its
fields.
Drop the instance-wide Content-Type. Ky still sets application/json for
json bodies, and the runtime sets multipart/form-data with the boundary.
The old unit test tolerated a missing header, and ran under jsdom whose
FormData the Node Request cannot serialize. It now runs in the node
environment and requires a multipart Content-Type whose boundary matches the
body. A Pixel 7 viewport e2e covers the signed PDF upload and JPG/MP4/MOV
media upload plus categorize.
2026-09-16 13:39:20 -03:00
Codex Review Integration
fdc275ab9a
test(work-orders): cover the Due Date floor in the wizard
2026-09-16 13:35:12 -03:00
Codex Review Integration
7c090571c5
test(work-orders): cover wizard vendor company notes journey
2026-09-16 13:20:32 -03:00
Codex Review Integration
ee95847354
fix(work-orders): register inline technicians through the additive vendor roster
2026-09-16 13:16:44 -03:00
Codex Review Integration
050e3f5134
test(work-orders): cover SH placeholder WO numbers on the board
2026-09-16 13:13:35 -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
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
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
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
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
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