From b84be929bb54d341b7ef7c5bb645a29a8ddfc80e Mon Sep 17 00:00:00 2001 From: regexowl Date: Mon, 7 Oct 2024 14:56:38 +0200 Subject: [PATCH] test: Add "VMware checkbox select and unselect works" test This adds a new test to check functionality of the bug fix. --- .../steps/ImageOutput/TargetEnvironment.tsx | 2 + .../steps/ImageOutput/ImageOutput.test.tsx | 43 +++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/src/Components/CreateImageWizard/steps/ImageOutput/TargetEnvironment.tsx b/src/Components/CreateImageWizard/steps/ImageOutput/TargetEnvironment.tsx index fbb25fe6..432a2b3e 100644 --- a/src/Components/CreateImageWizard/steps/ImageOutput/TargetEnvironment.tsx +++ b/src/Components/CreateImageWizard/steps/ImageOutput/TargetEnvironment.tsx @@ -216,6 +216,7 @@ const TargetEnvironment = () => { name="vsphere-radio" aria-label="VMware vSphere radio button OVA" id="vsphere-radio-ova" + data-testid="radio-vsphere-ova" label={ <> Open virtualization format (.ova) @@ -264,6 +265,7 @@ const TargetEnvironment = () => { name="vsphere-radio" aria-label="VMware vSphere radio button VMDK" id="vsphere-radio-vmdk" + data-testid="radio-vsphere-vmdk" label={ <> Virtual disk (.vmdk) diff --git a/src/test/Components/CreateImageWizard/steps/ImageOutput/ImageOutput.test.tsx b/src/test/Components/CreateImageWizard/steps/ImageOutput/ImageOutput.test.tsx index 36149bd9..4948427b 100644 --- a/src/test/Components/CreateImageWizard/steps/ImageOutput/ImageOutput.test.tsx +++ b/src/test/Components/CreateImageWizard/steps/ImageOutput/ImageOutput.test.tsx @@ -121,6 +121,12 @@ const selectGuestImageTarget = async () => { await waitFor(() => user.click(guestImageCheckBox)); }; +const selectVMwareTarget = async () => { + const user = userEvent.setup(); + const vmwareImageCheckBox = await screen.findByTestId('checkbox-vmware'); + await waitFor(() => user.click(vmwareImageCheckBox)); +}; + const goToReviewStep = async () => { await clickNext(); await clickRegisterLater(); @@ -255,6 +261,43 @@ describe('Step Image output', () => { ); }); + test('VMware checkbox select and unselect works', async () => { + await renderCreateMode(); + await selectVMwareTarget(); + + let vmwareCheckbox = await screen.findByTestId('checkbox-vmware'); + let ovaFileRadio = await screen.findByTestId('radio-vsphere-ova'); + let vmdkFileRadio = await screen.findByTestId('radio-vsphere-vmdk'); + + expect(await screen.findByTestId('checkbox-vmware')).toBeChecked(); + expect(ovaFileRadio).toBeChecked(); + expect(vmdkFileRadio).not.toBeChecked(); + + // switch to VMDK + user.click(vmdkFileRadio); + + // refresh values + vmwareCheckbox = await screen.findByTestId('checkbox-vmware'); + ovaFileRadio = await screen.findByTestId('radio-vsphere-ova'); + vmdkFileRadio = await screen.findByTestId('radio-vsphere-vmdk'); + + expect(vmwareCheckbox).toBeChecked(); + expect(ovaFileRadio).not.toBeChecked(); + expect(vmdkFileRadio).toBeChecked(); + + // unselect VMware + user.click(vmwareCheckbox); + + // refresh values + vmwareCheckbox = await screen.findByTestId('checkbox-vmware'); + ovaFileRadio = await screen.findByTestId('radio-vsphere-ova'); + vmdkFileRadio = await screen.findByTestId('radio-vsphere-vmdk'); + + expect(vmwareCheckbox).not.toBeChecked(); + expect(ovaFileRadio).not.toBeChecked(); + expect(vmdkFileRadio).not.toBeChecked(); + }); + test('revisit step button on Review works', async () => { await renderCreateMode(); await selectGuestImageTarget();