Skip to content

CHI-3279: Fix referencing for timelines to prevent issues with case search results going blank. Fix orphaned case check #2952

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 23 commits into
base: v2.30-rc
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
d430c17
Remove use of legacy case categories from CaseHome.tsx
stephenhand Apr 15, 2025
ec36ffd
Merge branch 'master' into CHI-3279-remove_case_categories
stephenhand Apr 24, 2025
83c05bf
Merge branch 'master' into CHI-3279-remove_case_categories
stephenhand Apr 25, 2025
f1fcf07
Replace case categories in case print
stephenhand Apr 25, 2025
852f056
Replace case categories in case print
stephenhand Apr 25, 2025
6fd38d5
Replace reliance on case categories with looking up categories on con…
stephenhand Apr 28, 2025
26c9698
Replace firstContact with timeline contactds
stephenhand Apr 29, 2025
a60d243
Replace firstContact with timeline contactds
stephenhand Apr 29, 2025
c8571e4
Mock timelines in UI test
stephenhand Apr 29, 2025
bf51164
Mock timelines in UI test
stephenhand Apr 29, 2025
69ee72e
Fix check for new case
stephenhand Apr 29, 2025
2df4903
Put case ID string conversion back because API still returns case ids…
stephenhand Apr 29, 2025
15dfb95
Remove category filters, improve translation key handling for multi s…
stephenhand Apr 29, 2025
7395f51
Fix e2e tests
stephenhand Apr 29, 2025
988de11
Merge branch 'master' into CHI-3279-remove_categories_filter
stephenhand Apr 29, 2025
8bc70dc
Fix contact loading on creating new case
stephenhand Apr 29, 2025
25e1c9c
Fix UI test
stephenhand Apr 30, 2025
1b92151
Fix E2E test
stephenhand Apr 30, 2025
6d3dcc8
Merge pull request #2946 from techmatters/CHI-3279-remove_case_catego…
stephenhand May 1, 2025
1cebd5b
Merge branch 'master' into CHI-3279-remove_categories_filter
stephenhand May 1, 2025
a947944
Merge pull request #2947 from techmatters/CHI-3279-remove_categories_…
stephenhand May 1, 2025
27df7bc
Fix referencing for timelines to prevent issues with case search resu…
stephenhand May 2, 2025
f3c0528
Linter
stephenhand May 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 5 additions & 21 deletions e2e-tests/caseList.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,8 @@ import { Page, expect } from '@playwright/test';
import { caseHome } from './case';

export type Filter =
| 'Status'
| 'Counselor'
| 'Categories'
| 'status'
| 'counselor'
| 'createdAtFilter'
| 'updatedAtFilter'
| 'followUpDateFilter';
Expand All @@ -43,8 +42,6 @@ export const caseList = (page: Page) => {
caseListPage.locator(`//button[@data-testid='FilterBy-${filter}-Button']`),
filterOptionCheckbox: (filter: Filter, option: string) =>
caseListPage.locator(`//li[@data-testid='${filter}-${option}']`),
filterCategories: (filter: Filter, option: string) =>
caseListPage.locator(`//div[@data-testid='${filter}-${option}']`),
filterApplyButton: caseListPage.locator(`//button[@data-testid='Filter-Apply-Button']`),

openFirstCaseButton: caseListPage
Expand Down Expand Up @@ -84,25 +81,12 @@ export const caseList = (page: Page) => {

/** Filter cases (excluding Date filters)
*
* @param filter: Filter (status, counselor or categories)
* @param option: string (required for all 3 filter)
* @param option2: string (required only for Categories filter)
*/
async function filterCases(filter: Filter, option: string, option2?: string): Promise<void> {
async function filterCases(filter: Filter, option: string): Promise<void> {
await openFilter(filter);

if (filter === 'Categories' && option2) {
//for Categories filter, 2 valid options are required
const selectOption = selectors.filterCategories(filter, option);
await selectOption.click();

const selectSubCategoryOption = selectors.filterOptionCheckbox(filter, option2);
console.log({ selectSubCategoryOption });
await selectSubCategoryOption.click();
} else {
const selectOption = selectors.filterOptionCheckbox(filter, option).first();
await selectOption.click();
}
const selectOption = selectors.filterOptionCheckbox(filter, option).first();
await selectOption.click();

const applyFilterButton = selectors.filterApplyButton;
await applyFilterButton.waitFor({ state: 'visible' });
Expand Down
6 changes: 1 addition & 5 deletions e2e-tests/tests/caselist.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,8 @@ test.describe.serial('Open and Edit a Case in Case List page', () => {
console.log('Open Case List page');
let page = caseList(pluginPage);

await page.filterCases('Status', 'Open');
await page.filterCases('status', 'Open');
// await page.filterCases('Counselor', 'Aselo Alerts');

//for Categories filter, 2 valid options are required
await page.filterCases('Categories', 'Accessibility', 'Education');

const caseHomePage = await page.openFirstCaseButton();

// Open notifications cover up the print icon :facepalm
Expand Down
13 changes: 13 additions & 0 deletions e2e-tests/ui-tests/aselo-service-mocks/hrm/cases.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,19 @@ const hrmCases = () => {
});
},
);
await page.route(
new URL(path.join(PATH_PREFIX, '*', 'timeline**'), context.HRM_BASE_URL).toString(),
async (route) => {
await route.fulfill({
status: 200,
contentType: 'application/json',
body: JSON.stringify({
activities: [],
count: 0,
}),
});
},
);
},
};
};
Expand Down
5 changes: 2 additions & 3 deletions e2e-tests/ui-tests/tests/case-list.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,8 @@ test.describe.serial('Case List', () => {
await caseListPage.openFilter(filter);
};

await scanFilterDialogue('Status');
await scanFilterDialogue('Categories');
await scanFilterDialogue('Counselor');
await scanFilterDialogue('status');
await scanFilterDialogue('counselor');
await scanFilterDialogue('createdAtFilter');
await scanFilterDialogue('updatedAtFilter');
await caseListPage.openFirstCaseButton();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },
"operatingArea": { "searchable": true, "type": "multi-select", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
Expand Down
2 changes: 0 additions & 2 deletions hrm-form-definitions/form-definitions/co/v1/CaseFilters.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
"followUpDate": { "type": "date-input", "allowFutureDates": true, "position": "right" }
Expand Down
2 changes: 0 additions & 2 deletions hrm-form-definitions/form-definitions/e2e/v1/CaseFilters.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
"followUpDate": { "type": "date-input", "allowFutureDates": true, "position": "right" }
Expand Down
2 changes: 0 additions & 2 deletions hrm-form-definitions/form-definitions/et/v1/CaseFilters.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
"followUpDate": { "type": "date-input", "allowFutureDates": true, "position": "right" }
Expand Down
2 changes: 0 additions & 2 deletions hrm-form-definitions/form-definitions/hu/v1/CaseFilters.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
"followUpDate": { "type": "date-input", "allowFutureDates": true, "position": "right" }
Expand Down
2 changes: 0 additions & 2 deletions hrm-form-definitions/form-definitions/in/v1/CaseFilters.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
"followUpDate": { "type": "date-input", "allowFutureDates": true, "position": "right" }
Expand Down
2 changes: 0 additions & 2 deletions hrm-form-definitions/form-definitions/jm/v1/CaseFilters.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
"followUpDate": { "type": "date-input", "allowFutureDates": true, "position": "right" }
Expand Down
2 changes: 0 additions & 2 deletions hrm-form-definitions/form-definitions/mt/v1/CaseFilters.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
"followUpDate": { "type": "date-input", "allowFutureDates": true, "position": "right" }
Expand Down
2 changes: 0 additions & 2 deletions hrm-form-definitions/form-definitions/mw/v1/CaseFilters.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
"followUpDate": { "type": "date-input", "allowFutureDates": true, "position": "right" }
Expand Down
2 changes: 0 additions & 2 deletions hrm-form-definitions/form-definitions/nz/v1/CaseFilters.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
"followUpDate": { "type": "date-input", "allowFutureDates": true, "position": "right" }
Expand Down
2 changes: 0 additions & 2 deletions hrm-form-definitions/form-definitions/ph/v1/CaseFilters.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
"followUpDate": { "type": "date-input", "allowFutureDates": true, "position": "right" }
Expand Down
2 changes: 0 additions & 2 deletions hrm-form-definitions/form-definitions/sg/v1/CaseFilters.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
"followUpDate": { "type": "date-input", "allowFutureDates": true, "position": "right" }
Expand Down
2 changes: 0 additions & 2 deletions hrm-form-definitions/form-definitions/th/v1/CaseFilters.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
"followUpDate": { "type": "date-input", "allowFutureDates": true, "position": "right" }
Expand Down
2 changes: 0 additions & 2 deletions hrm-form-definitions/form-definitions/tz/v1/CaseFilters.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
"followUpDate": { "type": "date-input", "allowFutureDates": true, "position": "right" }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
"followUpDate": { "type": "date-input", "allowFutureDates": true, "position": "right" }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
"followUpDate": { "type": "date-input", "allowFutureDates": true, "position": "right" }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },
"operatingArea": { "searchable": true, "type": "multi-select", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" }, "operatingArea": { "searchable": true, "type": "multi-select", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
Expand Down
2 changes: 0 additions & 2 deletions hrm-form-definitions/form-definitions/za/v1/CaseFilters.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
"followUpDate": { "type": "date-input", "allowFutureDates": true, "position": "right" }
Expand Down
2 changes: 0 additions & 2 deletions hrm-form-definitions/form-definitions/zm/v1/CaseFilters.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
"followUpDate": { "type": "date-input", "allowFutureDates": true, "position": "right" }
Expand Down
2 changes: 0 additions & 2 deletions hrm-form-definitions/form-definitions/zw/v1/CaseFilters.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"status": { "component": "generate-status-filter", "position": "left" },
"counselor": { "component": "generate-counselor-filter", "position": "left" },
"category": { "component": "generate-category-filter", "position": "left" },

"createdDate": { "component": "generate-created-date-filter", "position": "right" },
"updatedDate": { "component": "generate-updated-date-filter", "position": "right" },
"followUpDate": { "type": "date-input", "allowFutureDates": true, "position": "right" }
Expand Down
22 changes: 14 additions & 8 deletions plugin-hrm-form/src/___tests__/components/case/Case.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ jest.mock('../../../states/case/timeline', () => ({
newGetTimelineAsyncAction: jest.fn(),
selectTimelineCount: jest.fn(() => 0),
selectTimeline: jest.fn(() => []),
selectTimelineContactCategories: jest.fn().mockReturnValue({}),
selectCaseLabel: jest.fn().mockReturnValue('first last'),
}));

const { mockFetchImplementation, mockReset, buildBaseURL } = mockLocalFetchDefinitions();
Expand Down Expand Up @@ -82,10 +84,17 @@ beforeEach(() => {
describe('useState mocked', () => {
const verifyTimelineActions = () => {
['household', 'incident', 'perpetrator'].forEach(sectionType => {
expect(mockNewGetTimelineAction).toHaveBeenCalledWith(case1.connectedCase.id, sectionType, [sectionType], false, {
limit: 100,
offset: 0,
});
expect(mockNewGetTimelineAction).toHaveBeenCalledWith(
case1.connectedCase.id,
sectionType,
[sectionType],
false,
{
limit: 100,
offset: 0,
},
`case-${case1.connectedCase.id}`,
);
});

expect(mockNewGetTimelineAction).toHaveBeenCalledWith(
Expand All @@ -94,6 +103,7 @@ describe('useState mocked', () => {
expect.arrayContaining(['referral', 'note']),
true,
{ limit: 5, offset: 0 },
`case-${case1.connectedCase.id}`,
);
};

Expand Down Expand Up @@ -134,12 +144,8 @@ describe('useState mocked', () => {
twilioWorkerId: WORKER_SID,
status: 'open',
info: { definitionVersion: DefinitionVersionId.v1 },
categories: {},
accountSid: 'AC-accountSid',
helpline: 'helpline',
firstContact: {
id: 'contact1',
} as Contact,
},
availableStatusTransitions: [],
references: new Set(['x']),
Expand Down
Loading
Loading