From 1646a6b49807fc52701bc40e58be0bbb997a2d37 Mon Sep 17 00:00:00 2001 From: Jeffrey Phillips Date: Fri, 4 Oct 2024 11:04:54 -0400 Subject: [PATCH] Don't show empty connected models when deleting a connection --- .../connections/ConnectionsDeleteModal.tsx | 68 ++++++++++--------- .../__tests__/ConnectionsDeleteModal.spec.tsx | 24 +++++++ 2 files changed, 60 insertions(+), 32 deletions(-) diff --git a/frontend/src/pages/projects/screens/detail/connections/ConnectionsDeleteModal.tsx b/frontend/src/pages/projects/screens/detail/connections/ConnectionsDeleteModal.tsx index 715688550e..e260130f44 100644 --- a/frontend/src/pages/projects/screens/detail/connections/ConnectionsDeleteModal.tsx +++ b/frontend/src/pages/projects/screens/detail/connections/ConnectionsDeleteModal.tsx @@ -123,38 +123,42 @@ export const ConnectionsDeleteModal: React.FC = ({ ) : null} ) : null} - - Model deployments - - {connectedModels.length} - - - {modelsExpanded ? ( - - - - {connectedModels.map((model) => ( - - {getDisplayNameFromK8sResource(model)} - - ))} - - - + {connectedModels.length ? ( + <> + + Model deployments + + {connectedModels.length} + + + {modelsExpanded ? ( + + + + {connectedModels.map((model) => ( + + {getDisplayNameFromK8sResource(model)} + + ))} + + + + ) : null} + ) : null} )} diff --git a/frontend/src/pages/projects/screens/detail/connections/__tests__/ConnectionsDeleteModal.spec.tsx b/frontend/src/pages/projects/screens/detail/connections/__tests__/ConnectionsDeleteModal.spec.tsx index 874dae3d05..34f540ba48 100644 --- a/frontend/src/pages/projects/screens/detail/connections/__tests__/ConnectionsDeleteModal.spec.tsx +++ b/frontend/src/pages/projects/screens/detail/connections/__tests__/ConnectionsDeleteModal.spec.tsx @@ -90,4 +90,28 @@ describe('Delete connection modal', () => { expect(modelsItems[0]).toHaveTextContent('Deployed model 1'); expect(modelsItems[1]).toHaveTextContent('Deployed model 2'); }); + + it('should not show empty related resources', async () => { + const deleteConnection = mockConnection({ displayName: 'connection1', description: 'desc1' }); + + useRelatedNotebooksMock.mockReturnValue({ + notebooks: [], + loaded: true, + }); + useInferenceServicesForConnectionMock.mockReturnValue([]); + render( + , + ); + + const notebooksCountBadge = screen.queryByTestId('connections-delete-notebooks-toggle'); + expect(notebooksCountBadge).toBeFalsy(); + + const modelsCountBadge = screen.queryByTestId('connections-delete-models-toggle'); + expect(modelsCountBadge).toBeFalsy(); + }); });