pelagia-portal/App/tests/integration
Hardik 040a66488d
All checks were successful
PR checks / checks (pull_request) Successful in 38s
PR checks / integration (pull_request) Successful in 28s
feat(crewing): clash detection by required strength (Option A)
Replace the implicit "strength = 1" clash rule with a configurable per-vessel,
per-rank requirement (director decision). Adds VesselRankRequirement
{vesselId, rankId, minStrength} (migration crewing_vessel_rank_requirement) and
reworks lib/leave-clash.ts → leaveCausesClash: a leave approval clashes when the
remaining active same-rank cover over the window would fall below minStrength
(default 1 when unconfigured), auto-raising a LEAVE requisition. The requirement
is managed by the office (manage_crew, admin UI in the follow-up).

- Integration: leave-attendance.test.ts gains a configured-strength case
  (minStrength 2, one remaining → clash). Full unit (240) + integration (183) green.
- CLAUDE.md updated.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 21:14:21 +05:30
..
admin-ranks.test.ts feat(crewing): foundations — SITE_STAFF role, ranks reference data + admin (flagged) 2026-06-22 13:26:04 +05:30
applications.test.ts feat(crewing): Phase 3b — recruitment pipeline (flagged) 2026-06-22 18:49:12 +05:30
approval-actions.test.ts test(integration): green the last 3 behavioural-drift tests (108/108) 2026-06-21 02:39:41 +05:30
approved-this-month.test.ts fix(dashboard): count all POs approved this month, not just current MGR_APPROVED 2026-06-19 12:07:53 +05:30
cancel-supersede.test.ts feat(po): cancel POs (manager/superuser) + optional supersede link (#53) 2026-06-21 12:20:54 +05:30
candidates.test.ts feat(crewing): Phase 3a — candidates / talent pool (flagged) 2026-06-22 18:23:01 +05:30
company-branding.test.ts feat(po): per-company logo, stamp & brand bar on exported POs 2026-06-21 01:17:23 +05:30
company-crud.test.ts test(companies): cover createCompany/updateCompany actions 2026-06-21 02:05:32 +05:30
confirm-receipt.test.ts test(integration): repair stale integration suite (wip: 97/108) 2026-06-21 02:34:07 +05:30
create-po.test.ts test(integration): repair stale integration suite (wip: 97/108) 2026-06-21 02:34:07 +05:30
crew-records.test.ts feat(crewing): Phase 4a — crew records & profile + PPE (flagged) 2026-06-22 19:27:21 +05:30
discard-po.test.ts test(integration): repair stale integration suite (wip: 97/108) 2026-06-21 02:34:07 +05:30
helpers.ts test(integration): green the last 3 behavioural-drift tests (108/108) 2026-06-21 02:39:41 +05:30
import-api.test.ts test(integration): repair stale integration suite (wip: 97/108) 2026-06-21 02:34:07 +05:30
leave-attendance.test.ts feat(crewing): clash detection by required strength (Option A) 2026-06-22 21:14:21 +05:30
manager-po-creation.test.ts test(integration): repair stale integration suite (wip: 97/108) 2026-06-21 02:34:07 +05:30
onboarding.test.ts feat(crewing): Phase 3c — onboarding (flagged) 2026-06-22 19:12:53 +05:30
payment-actions.test.ts test(integration): green the last 3 behavioural-drift tests (108/108) 2026-06-21 02:39:41 +05:30
products-search.test.ts test(integration): repair stale integration suite (wip: 97/108) 2026-06-21 02:34:07 +05:30
requisitions.test.ts feat(crewing): Phase 2 — requisitions + relief requests (flagged) 2026-06-22 18:22:59 +05:30
vendor-approval.test.ts test(integration): green the last 3 behavioural-drift tests (108/108) 2026-06-21 02:39:41 +05:30