Skip to content

Commit a415cae

Browse files
committed
update Models tab in AAE page to use Ready/Failed/Unknown status labels
1 parent dee2a45 commit a415cae

5 files changed

Lines changed: 35 additions & 9 deletions

File tree

packages/gen-ai/frontend/src/app/AIAssets/components/AIModelTableRow.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ const AIModelTableRow: React.FC<AIModelTableRowProps> = ({
124124
case 'Stop':
125125
return (
126126
<Label status="danger" variant="outline">
127-
Inactive
127+
Failed
128128
</Label>
129129
);
130130
default:

packages/gen-ai/frontend/src/app/AIAssets/components/__tests__/AIModelTableRow.spec.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,15 +203,15 @@ describe('AIModelTableRow', () => {
203203
expect(screen.getByText('Ready')).toBeInTheDocument();
204204
});
205205

206-
it('should show Inactive status when model is not Running', () => {
206+
it('should show Failed status when model is stopped', () => {
207207
const model = createMockAIModel({ status: 'Stop' });
208208
render(
209209
<TestWrapper>
210210
<AIModelTableRow {...defaultProps} model={model} />
211211
</TestWrapper>,
212212
);
213213

214-
expect(screen.getByText('Inactive')).toBeInTheDocument();
214+
expect(screen.getByText('Failed')).toBeInTheDocument();
215215
});
216216

217217
it('should show Unknown status when model status is not Running or Stop', () => {

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', 'Failed', 'Unknown'],
2121
};

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

Lines changed: 21 additions & 4 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 Failed status', () => {
154154
const models = [
155155
createMockAIModel({ model_id: 'model-1', status: 'Running' }),
156156
createMockAIModel({ model_id: 'model-2', status: 'Stop' }),
@@ -159,12 +159,29 @@ describe('useAIModelsFilter', () => {
159159
const { result } = testHook(useAIModelsFilter)(models);
160160

161161
act(() => {
162-
result.current.onFilterUpdate(AssetsFilterOptions.STATUS, 'Inactive');
162+
result.current.onFilterUpdate(AssetsFilterOptions.STATUS, 'Failed');
163163
});
164164

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 'Failed';
13+
default:
14+
return 'Unknown';
15+
}
16+
};
817

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

0 commit comments

Comments
 (0)