Skip to content

Commit

Permalink
Bug 1915277: [e2e][automation]fix cdi upload form test
Browse files Browse the repository at this point in the history
  • Loading branch information
glekner committed Jan 12, 2021
1 parent 9ba8031 commit e6a6397
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
withResources,
} from '@console/shared/src/test-utils/utils';
import { errorMessage, isLoaded } from '@console/internal-integration-tests/views/crud.view';
import { warnMessage } from '../views/pvc.view';
import { typeWarnMessage } from '../views/pvc.view';
import { bootSource, vmtLinkByName } from '../views/template.view';
import {
CLONE_VM_TIMEOUT_SECS,
Expand Down Expand Up @@ -82,7 +82,7 @@ describe('KubeVirt Auto Clone', () => {
CIRROS_PVC.image = img;
await uploadForm.openForm();
await uploadForm.fillAll(CIRROS_PVC);
await browser.wait(until.stalenessOf(warnMessage));
await browser.wait(until.stalenessOf(typeWarnMessage));
}
});

Expand All @@ -91,14 +91,12 @@ describe('KubeVirt Auto Clone', () => {
image: invalidImage,
pvcName: `upload-pvc-${testName}-invalid`,
pvcSize: '1',
pvcSizeUnits: 'Gi',
storageClass: STORAGE_CLASS,
};

await uploadForm.openForm();
await uploadForm.fillAll(pvc);
await browser.wait(until.presenceOf(warnMessage));
expect(warnMessage.getText()).toContain('not supported');
await browser.wait(until.presenceOf(typeWarnMessage));
});

it(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,13 @@ import { clickNavLink } from '@console/internal-integration-tests/views/sidenav.
import {
inputPVCName,
inputPVCSize,
selectItemFromDropdown,
storageclassDropdown,
selectAccessMode,
sizeUnitsDropdown,
} from '@console/ceph-storage-plugin/integration-tests/views/pvc.view';
import { click, fillInput } from '@console/shared/src/test-utils/utils';
import { selectOptionByText } from '../utils/utils';
import { selectItemFromDropdown, selectOptionByText } from '../utils/utils';
import * as pvcView from '../../views/pvc.view';
import { PVCData } from '../types/pvc';
import { dropDownItem } from '../../views/uiResource.view';

export class UploadForm {
async openForm() {
Expand Down Expand Up @@ -53,25 +51,43 @@ export class UploadForm {
}

async selectStorageClass(sc: string) {
await selectItemFromDropdown(sc, storageclassDropdown);
await selectItemFromDropdown(pvcView.uploadStorageClass, dropDownItem(sc));
}

async fillPVCSize(pvcSize: string, pvcSizeUnits: string) {
await inputPVCSize.sendKeys(pvcSize);
await selectItemFromDropdown(pvcSizeUnits, sizeUnitsDropdown);
if (pvcSizeUnits) {
await selectItemFromDropdown(pvcSizeUnits, sizeUnitsDropdown);
}
}

async selectAccessMode(accessMode: string) {
await click(selectAccessMode(accessMode));
await selectItemFromDropdown(pvcView.uploadAccessMode, dropDownItem(accessMode));
}

async selectVolumeMode(volumeMode: string) {
await selectItemFromDropdown(pvcView.uploadVolumeMode, dropDownItem(volumeMode));
}

async fillAll(data: PVCData) {
const { image, os, pvcName, pvcSize, pvcSizeUnits, storageClass, accessMode } = data;
const {
image,
os,
pvcName,
pvcSize,
pvcSizeUnits,
storageClass,
accessMode,
volumeMode,
} = data;
await this.selectStorageClass(storageClass);
await this.fillPVCSize(pvcSize, pvcSizeUnits);
if (accessMode) {
await this.selectAccessMode(accessMode);
}
if (volumeMode) {
await this.selectVolumeMode(volumeMode);
}
if (os) {
this.selectGoldenOS(os);
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ export type PVCData = {
os?: OperatingSystem;
pvcName?: string;
pvcSize: string;
pvcSizeUnits: string;
pvcSizeUnits?: string;
storageClass: string;
accessMode?: string;
volumeMode?: string;
};
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ export const CIRROS_PVC: PVCData = {
image: LOCAL_CIRROS_IMAGE,
pvcName: `test-upload-pvc-${testName}`,
pvcSize: '1',
pvcSizeUnits: 'Gi',
storageClass: STORAGE_CLASS,
};

Expand All @@ -31,7 +30,6 @@ export const FEDORA_PVC: PVCData = {
os: OperatingSystem.FEDORA,
pvcName: GOLDEN_OS_PVC_NAME.FEDORA,
pvcSize: '10',
pvcSizeUnits: 'Gi',
storageClass: STORAGE_CLASS,
};

Expand All @@ -41,7 +39,6 @@ export const RHEL7_PVC: PVCData = {
os: OperatingSystem.RHEL7,
pvcName: GOLDEN_OS_PVC_NAME.RHEL7,
pvcSize: '10',
pvcSizeUnits: 'Gi',
storageClass: STORAGE_CLASS,
};

Expand All @@ -51,6 +48,5 @@ export const WIN10_PVC: PVCData = {
os: OperatingSystem.WINDOWS_10,
pvcName: GOLDEN_OS_PVC_NAME.WIN10,
pvcSize: '10',
pvcSizeUnits: 'Gi',
storageClass: STORAGE_CLASS,
};
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,16 @@ export const uploadProgress = element.all(by.css('.pf-c-progress__measure')).fir
export const goldenOSCheckbox = $('#golden-os-switch');
export const goldenOSDropDownID = $('#golden-os-select');
export const viewStatusID = $('#cdi-upload-primary-pvc');
export const uploadStorageClass = $('#upload-form-ds-sc-select');
export const uploadAccessMode = $('#upload-form-ds-access-mode-select');
export const uploadVolumeMode = $('#upload-form-ds-volume-mode-select');
export const uploadBtn = element(by.buttonText('Upload'));

export const pvcName = (name) => $(`[data-test-id="${name}"]`);
export const pvcKebabButton = $('[data-test-id="kebab-button"]');
export const pvcDeleteButton = element(by.buttonText('Delete Persistent Volume Claim'));
export const errorUploading = $('.pf-c-empty-state__body');
export const disabled = $('.pf-c-dropdown__menu-item.pf-m-disabled');
export const warnMessage = $('.pf-c-alert.pf-m-inline.pf-m-warning');
export const typeWarnMessage = element(
by.cssContainingText('.pf-c-alert__title', 'File type extension'),
);

0 comments on commit e6a6397

Please sign in to comment.