Skip to content

Commit 4b960d7

Browse files
authored
Merge pull request opendatahub-io#7158 from jharan1/RHOAIENG-57040-update-status-filter-AAE-models
fix (gen-ai): update Models tab in AAE page to use Ready/Inactive/Unknown status labels
2 parents efe920d + 025bba5 commit 4b960d7

3 files changed

Lines changed: 31 additions & 5 deletions

File tree

packages/gen-ai/frontend/src/app/AIAssets/data/filterOptions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ export const assetsFilterOptions: Record<string, string> = {
1717
};
1818

1919
export const assetsFilterSelectOptions: Partial<Record<AssetsFilterOptions, string[]>> = {
20-
[AssetsFilterOptions.STATUS]: ['Active', 'Inactive'],
20+
[AssetsFilterOptions.STATUS]: ['Ready', 'Inactive', 'Unknown'],
2121
};

packages/gen-ai/frontend/src/app/AIAssets/hooks/__tests__/useAIModelsFilter.spec.ts

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ describe('useAIModelsFilter', () => {
132132
});
133133

134134
describe('Filter by status', () => {
135-
it('should filter models by status (select filter)', () => {
135+
it('should filter models by Ready status', () => {
136136
const models = [
137137
createMockAIModel({ model_id: 'model-1', status: 'Running' }),
138138
createMockAIModel({ model_id: 'model-2', status: 'Stop' }),
@@ -142,15 +142,15 @@ describe('useAIModelsFilter', () => {
142142
const { result } = testHook(useAIModelsFilter)(models);
143143

144144
act(() => {
145-
result.current.onFilterUpdate(AssetsFilterOptions.STATUS, 'Active');
145+
result.current.onFilterUpdate(AssetsFilterOptions.STATUS, 'Ready');
146146
});
147147

148148
expect(result.current.filteredModels).toHaveLength(2);
149149
expect(result.current.filteredModels[0].model_id).toBe('model-1');
150150
expect(result.current.filteredModels[1].model_id).toBe('model-3');
151151
});
152152

153-
it('should filter for inactive models', () => {
153+
it('should filter models by Inactive status', () => {
154154
const models = [
155155
createMockAIModel({ model_id: 'model-1', status: 'Running' }),
156156
createMockAIModel({ model_id: 'model-2', status: 'Stop' }),
@@ -165,6 +165,23 @@ describe('useAIModelsFilter', () => {
165165
expect(result.current.filteredModels).toHaveLength(1);
166166
expect(result.current.filteredModels[0].model_id).toBe('model-2');
167167
});
168+
169+
it('should filter models by Unknown status', () => {
170+
const models = [
171+
createMockAIModel({ model_id: 'model-1', status: 'Running' }),
172+
createMockAIModel({ model_id: 'model-2', status: 'Stop' }),
173+
createMockAIModel({ model_id: 'model-3', status: 'Pending' }),
174+
];
175+
176+
const { result } = testHook(useAIModelsFilter)(models);
177+
178+
act(() => {
179+
result.current.onFilterUpdate(AssetsFilterOptions.STATUS, 'Unknown');
180+
});
181+
182+
expect(result.current.filteredModels).toHaveLength(1);
183+
expect(result.current.filteredModels[0].model_id).toBe('model-3');
184+
});
168185
});
169186

170187
describe('Multiple filters', () => {

packages/gen-ai/frontend/src/app/AIAssets/hooks/useAIModelsFilter.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,16 @@ import { AssetsFilterOptions, assetsFilterSelectOptions } from '~/app/AIAssets/d
44

55
export type FilterData = Record<string, string | string[] | undefined>;
66

7-
const getStatusLabel = (status: string): string => (status === 'Running' ? 'Active' : 'Inactive');
7+
const getStatusLabel = (status: string): string => {
8+
switch (status) {
9+
case 'Running':
10+
return 'Ready';
11+
case 'Stop':
12+
return 'Inactive';
13+
default:
14+
return 'Unknown';
15+
}
16+
};
817

918
const isSelectFilter = (filterType: string): boolean => filterType in assetsFilterSelectOptions;
1019

0 commit comments

Comments
 (0)