Skip to content

Commit

Permalink
test: test disabled buttons when deleting
Browse files Browse the repository at this point in the history
check if buttons are disabled when deleting objects
Signed-off-by: Thiago Mendes <tzig@tutanota.de>
  • Loading branch information
trmendes committed Jan 31, 2024
1 parent 1cdb04b commit 41b4b5b
Show file tree
Hide file tree
Showing 6 changed files with 124 additions and 0 deletions.
25 changes: 25 additions & 0 deletions packages/renderer/src/lib/container/ContainerActions.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,3 +100,28 @@ test('Expect no error and status deleting container', async () => {
expect(container.actionError).toEqual('');
expect(updateMock).toHaveBeenCalled();
});

test('Expect buttons to be disabled when deleting', async () => {
const { component } = render(ContainerActions, { container });
component.$on('update', updateMock);

container.state = 'DELETING';

const deleteButton = screen.getByRole('button', { name: 'Delete Container' });
expect(deleteButton).toBeDisabled();

const startButton = screen.getByRole('button', { name: 'Start Container' });
expect(startButton).toBeDisabled();

const stopButton = screen.getByRole('button', { name: 'Stop Container' });
expect(stopButton).toBeDisabled();

const generateKubeButton = screen.getByRole('button', { name: 'Generate Kube' });
expect(generateKubeButton).toBeDisabled();

const deployToKubeButton = screen.getByRole('button', { name: 'Deploy to Kubernetes' });
expect(deployToKubeButton).toBeDisabled();

const restartContainerButton = screen.getByRole('button', { name: 'Restart Container' });
expect(restartContainerButton).toBeDisabled();
});
10 changes: 10 additions & 0 deletions packages/renderer/src/lib/deployments/DeploymentActions.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,13 @@ test('Expect no error and status deleting deployment', async () => {
expect(updateMock).toHaveBeenCalled();
expect(deleteMock).toHaveBeenCalled();
});

test('Expect buttons to be disabled when deleting', async () => {
const { component } = render(DeploymentActions, { deployment });
component.$on('update', updateMock);

deployment.status = 'DELETING';

const deleteButton = screen.getByRole('button', { name: 'Delete Deployment' });
expect(deleteButton).toBeDisabled();
});
25 changes: 25 additions & 0 deletions packages/renderer/src/lib/image/ImageActions.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -154,3 +154,28 @@ test('Expect no dropdown when several contributions and dropdownMenu mode on', a
expect(button.lastChild?.textContent).toBe('dummy-contrib');
});
});

test('Expect buttons to be disabled when deleting', async () => {
const image: ImageInfoUI = {
name: 'dummy',
status: 'DELETING',
} as ImageInfoUI;

render(ImageActions, {
onPushImage: vi.fn(),
onRenameImage: vi.fn(),
image,
});

const runImagesButton = screen.getByRole('button', { name: 'Run Image' });
expect(runImagesButton).toBeDisabled();

const deleteButton = screen.getByRole('button', { name: 'Delete Image' });
expect(deleteButton).toBeDisabled();

const editImageButton = screen.getByRole('button', { name: 'Edit Image' });
expect(editImageButton).toBeDisabled();

const showHistoryButton = screen.getByRole('button', { name: 'Show History' });
expect(showHistoryButton).toBeDisabled();
});
27 changes: 27 additions & 0 deletions packages/renderer/src/lib/pod/PodActions.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -192,3 +192,30 @@ test('Expect kubernetes routes kebab menu to be displayed', async () => {
const routesDropDownMenu = await screen.findByTitle('Drop Down Menu Items');
expect(routesDropDownMenu).toBeVisible();
});

test('Expect buttons to be disabled when deleting', async () => {
const pod: PodInfoUI = {
id: 'pod',
name: 'name',
containers: [{ Id: 'pod' }],
status: 'DELETING',
kind: 'podman',
} as PodInfoUI;

render(PodActions, { pod: pod });

const startPodButton = screen.getByRole('button', { name: 'Start Pod' });
expect(startPodButton).toBeDisabled();

const stopPodButton = screen.getByRole('button', { name: 'Stop Pod' });
expect(stopPodButton).toBeDisabled();

const deletePodButton = screen.getByRole('button', { name: 'Delete Pod' });
expect(deletePodButton).toBeDisabled();

const generateKubeButton = screen.getByRole('button', { name: 'Generate Kube' });
expect(generateKubeButton).toBeDisabled();

const deployKubeButton = screen.getByRole('button', { name: 'Deploy to Kubernetes' });
expect(deployKubeButton).toBeDisabled();
});
9 changes: 9 additions & 0 deletions packages/renderer/src/lib/service/ServiceActions.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,3 +63,12 @@ test('Expect no error and status deleting service', async () => {
expect(updateMock).toHaveBeenCalled();
expect(deleteMock).toHaveBeenCalled();
});

test('Expect buttons to be disabled when deleting', async () => {
const { component } = render(ServiceActions, { service });
component.status = 'DELETING';
component.$on('update', updateMock);

const deletePodButton = screen.getByRole('button', { name: 'Delete Service' });
expect(deletePodButton).toBeDisabled();
});
28 changes: 28 additions & 0 deletions packages/renderer/src/lib/volume/VolumeActions.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,31 @@ test('Expect prompt dialog and deletion', async () => {
expect(volume.status).toBe('DELETING');
expect(removeVolumeMock).toHaveBeenCalled();
});

test('Expect buttons to be disabled when deleting', async () => {
const volume: VolumeInfoUI = {
name: 'dummy',
status: 'DELETING',
} as VolumeInfoUI;

render(VolumeActions, {
volume,
});

const button = screen.getByTitle('Delete Volume');
expect(button).toBeDisabled();
});

test('Expect delete to be disabled when volume is being used', async () => {
const volume: VolumeInfoUI = {
name: 'dummy',
status: 'USED',
} as VolumeInfoUI;

render(VolumeActions, {
volume,
});

const button = screen.getByTitle('Delete Volume');
expect(button).toBeDisabled();
});

0 comments on commit 41b4b5b

Please sign in to comment.