Skip to content

PM-5503: Support multi-status engagement filter#2008

Draft
jmgasper wants to merge 1 commit into
devfrom
PM-5503
Draft

PM-5503: Support multi-status engagement filter#2008
jmgasper wants to merge 1 commit into
devfrom
PM-5503

Conversation

@jmgasper

@jmgasper jmgasper commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

What was broken
The work app engagement list only offered a single-select Engagement Status dropdown with an "All" option, so users could not filter by multiple statuses or clear back to all selected statuses.

Root cause
Engagement list filters and engagement fetch filters modeled status as one string, and the fetch path serialized only one status value. The current dev engagements API returns 400 for repeated status query parameters, so the UI could not rely on repeated params for multi-select support.

What was changed
Replaced the status "All" option with a clearable multi-select that defaults to all statuses selected. Clearing the selection restores the default unfiltered state.

Added multi-status fetch fan-out so the UI supports multiple selected statuses while the current engagements API still accepts only one status per request.

Any added/updated tests
Added EngagementsFilter coverage for the default all-selected multi-select and clear behavior. Updated engagement list and service specs to cover selected status arrays and multi-status API fan-out.

Validation run:

  • yarn test:no-watch --runTestsByPath src/apps/work/src/lib/components/EngagementsFilter/EngagementsFilter.spec.tsx src/apps/work/src/lib/services/engagements.service.spec.ts src/apps/work/src/pages/engagements/EngagementsListPage/EngagementsListPage.spec.tsx passed.
  • yarn lint passed.
  • yarn run build passed with existing build warnings.
  • yarn test:no-watch was attempted; the current full suite fails in unrelated areas including engagement-editor.schema.spec.ts, PaymentFormModal.spec.tsx, and ChallengeEditorForm.spec.tsx.

What was broken
The work app engagement list only offered a single-select Engagement Status dropdown with an "All" option, so users could not filter by multiple statuses or clear back to all selected statuses.

Root cause
Engagement list filters and engagement fetch filters modeled status as one string, and the fetch path serialized only one status value.

What was changed
Replaced the status "All" option with a clearable multi-select that defaults to all statuses selected. Clearing the selection restores the default unfiltered state.

Added multi-status fetch fan-out so the UI supports multiple selected statuses while the current engagements API still accepts only one status per request.

Any added/updated tests
Added EngagementsFilter coverage for the default all-selected multi-select and clear behavior. Updated engagement list and service specs to cover selected status arrays and multi-status API fan-out.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant