test: Add "VMware checkbox select and unselect works" test

This adds a new test to check functionality of the bug fix.
This commit is contained in:
regexowl 2024-10-07 14:56:38 +02:00 committed by Lucas Garfield
parent 79a4e98d0e
commit b84be929bb
2 changed files with 45 additions and 0 deletions

View file

@ -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)

View file

@ -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();