diff --git a/packages/renderer/src/lib/deployments/DeploymentDetails.spec.ts b/packages/renderer/src/lib/deployments/DeploymentDetails.spec.ts index 427d1a404cd62..6a8fbf510afee 100644 --- a/packages/renderer/src/lib/deployments/DeploymentDetails.spec.ts +++ b/packages/renderer/src/lib/deployments/DeploymentDetails.spec.ts @@ -18,7 +18,7 @@ import '@testing-library/jest-dom/vitest'; import { test, expect, vi, beforeAll } from 'vitest'; -import { fireEvent, render, screen } from '@testing-library/svelte'; +import { fireEvent, render, screen, waitFor } from '@testing-library/svelte'; import DeploymentDetails from './DeploymentDetails.svelte'; @@ -49,6 +49,10 @@ beforeAll(() => { }); test('Expect redirect to previous page if deployment is deleted', async () => { + const showMessageBoxMock = vi.fn(); + (window as any).showMessageBox = showMessageBoxMock; + showMessageBoxMock.mockResolvedValue({ response: 0 }); + const routerGotoSpy = vi.spyOn(router, 'goto'); deployments.set([deployment]); @@ -71,6 +75,10 @@ test('Expect redirect to previous page if deployment is deleted', async () => { // click on delete button const deleteButton = screen.getByRole('button', { name: 'Delete Deployment' }); await fireEvent.click(deleteButton); + expect(showMessageBoxMock).toHaveBeenCalledOnce(); + + // Wait for confirmation modal to disappear after clicking on delete + await waitFor(() => expect(screen.queryByRole('dialog')).not.toBeInTheDocument()); // check that delete method has been called expect(kubernetesDeleteDeploymentMock).toHaveBeenCalled(); diff --git a/packages/renderer/src/lib/service/ServiceDetails.spec.ts b/packages/renderer/src/lib/service/ServiceDetails.spec.ts index 5d249833ecca0..ec510e8f9da5e 100644 --- a/packages/renderer/src/lib/service/ServiceDetails.spec.ts +++ b/packages/renderer/src/lib/service/ServiceDetails.spec.ts @@ -18,7 +18,7 @@ import '@testing-library/jest-dom/vitest'; import { test, expect, vi, beforeAll } from 'vitest'; -import { fireEvent, render, screen } from '@testing-library/svelte'; +import { fireEvent, render, screen, waitFor } from '@testing-library/svelte'; import ServiceDetails from './ServiceDetails.svelte'; @@ -43,6 +43,10 @@ beforeAll(() => { }); test('Expect redirect to previous page if service is deleted', async () => { + const showMessageBoxMock = vi.fn(); + (window as any).showMessageBox = showMessageBoxMock; + showMessageBoxMock.mockResolvedValue({ response: 0 }); + const routerGotoSpy = vi.spyOn(router, 'goto'); services.set([service]); @@ -66,6 +70,11 @@ test('Expect redirect to previous page if service is deleted', async () => { const deleteButton = screen.getByRole('button', { name: 'Delete Service' }); await fireEvent.click(deleteButton); + expect(showMessageBoxMock).toHaveBeenCalledOnce(); + + // Wait for confirmation modal to disappear after clicking on delete + await waitFor(() => expect(screen.queryByRole('dialog')).not.toBeInTheDocument()); + // check that delete method has been called expect(kubernetesDeleteServiceMock).toHaveBeenCalled();