Skip to content

Commit 4c6b6a1

Browse files
authored
feat: Use fetcher in workflow history (#1064)
* Create fetcher utility Signed-off-by: Assem Hafez <assem.hafez@uber.com> * rename query Signed-off-by: Assem Hafez <assem.hafez@uber.com> * Create hook for fetching history Signed-off-by: Assem Hafez <assem.hafez@uber.com> * add configurable throttleMs to the hook Signed-off-by: Assem Hafez <assem.hafez@uber.com> * use fetcher in workflow history * remove useKeepLoadingEvents Signed-off-by: Assem Hafez <assem.hafez@uber.com> * update fetcher based on feedback Signed-off-by: Assem Hafez <assem.hafez@uber.com> * rename unmout to destroy Signed-off-by: Assem Hafez <assem.hafez@uber.com> * Create hook for fetching history Signed-off-by: Assem Hafez <assem.hafez@uber.com> * move condition into executeImmediately Signed-off-by: Assem Hafez <assem.hafez@uber.com> * update destroy in method Signed-off-by: Assem Hafez <assem.hafez@uber.com> * fix type error with query params Signed-off-by: Assem Hafez <assem.hafez@uber.com> --------- Signed-off-by: Assem Hafez <assem.hafez@uber.com>
1 parent 4b858bb commit 4c6b6a1

File tree

6 files changed

+86
-254
lines changed

6 files changed

+86
-254
lines changed

src/views/workflow-history/__tests__/workflow-history.test.tsx

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,15 @@ jest.mock('@/hooks/use-page-query-params/use-page-query-params', () =>
2828
jest.fn(() => [{ historySelectedEventId: '1' }, jest.fn()])
2929
);
3030

31+
// Mock the hook to use minimal throttle delay for faster tests
32+
jest.mock('../hooks/use-workflow-history-fetcher', () => {
33+
const actual = jest.requireActual('../hooks/use-workflow-history-fetcher');
34+
return {
35+
__esModule: true,
36+
default: jest.fn((params) => actual.default(params, 0)), // 0ms throttle for tests
37+
};
38+
});
39+
3140
jest.mock(
3241
'../workflow-history-compact-event-card/workflow-history-compact-event-card',
3342
() => jest.fn(() => <div>Compact group Card</div>)
@@ -90,24 +99,24 @@ describe('WorkflowHistory', () => {
9099
});
91100

92101
it('renders page header correctly', async () => {
93-
setup({});
102+
await setup({});
94103
expect(
95104
await screen.findByText('Workflow history Header')
96105
).toBeInTheDocument();
97106
});
98107

99108
it('renders compact group cards', async () => {
100-
setup({});
109+
await setup({});
101110
expect(await screen.findByText('Compact group Card')).toBeInTheDocument();
102111
});
103112

104113
it('renders timeline group cards', async () => {
105-
setup({});
114+
await setup({});
106115
expect(await screen.findByText('Timeline group card')).toBeInTheDocument();
107116
});
108117

109118
it('renders load more section', async () => {
110-
setup({});
119+
await setup({});
111120
expect(await screen.findByText('Load more')).toBeInTheDocument();
112121
});
113122

@@ -180,7 +189,7 @@ describe('WorkflowHistory', () => {
180189
});
181190

182191
it('should show no results when filtered events are empty', async () => {
183-
setup({ emptyEvents: true });
192+
await setup({ emptyEvents: true });
184193
expect(await screen.findByText('No Results')).toBeInTheDocument();
185194
});
186195

src/views/workflow-history/hooks/__tests__/use-keep-loading-events.test.ts

Lines changed: 0 additions & 132 deletions
This file was deleted.

src/views/workflow-history/hooks/use-keep-loading-events.ts

Lines changed: 0 additions & 47 deletions
This file was deleted.

src/views/workflow-history/workflow-history-header/__tests__/workflow-history-header.test.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,8 +227,6 @@ function setup(props: Partial<Props> = {}) {
227227
cluster: 'test-cluster',
228228
workflowId: 'test-workflowId',
229229
runId: 'test-runId',
230-
pageSize: 100,
231-
waitForNewEvent: 'true',
232230
},
233231
pageFiltersProps: {
234232
activeFiltersCount: 0,

src/views/workflow-history/workflow-history-header/workflow-history-header.types.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,6 @@ import { type Props as WorkflowHistoryExportJsonButtonProps } from '../workflow-
88
import { type Props as WorkflowHistoryTimelineChartProps } from '../workflow-history-timeline-chart/workflow-history-timeline-chart.types';
99

1010
type WorkflowPageQueryParamsConfig = typeof workflowPageQueryParamsConfig;
11-
type WorkflowHistoryRequestArgs = WorkflowHistoryExportJsonButtonProps & {
12-
pageSize: number;
13-
waitForNewEvent: string;
14-
};
1511

1612
type PageFiltersProps = {
1713
resetAllFilters: () => void;
@@ -25,7 +21,7 @@ export type Props = {
2521
toggleIsExpandAllEvents: () => void;
2622
isUngroupedHistoryViewEnabled: boolean;
2723
onClickGroupModeToggle: () => void;
28-
wfHistoryRequestArgs: WorkflowHistoryRequestArgs;
24+
wfHistoryRequestArgs: WorkflowHistoryExportJsonButtonProps;
2925
pageFiltersProps: PageFiltersProps;
3026
timelineChartProps: WorkflowHistoryTimelineChartProps;
3127
isStickyEnabled?: boolean;

0 commit comments

Comments
 (0)