Skip to content

Commit

Permalink
Merge pull request #4541 from rhrazdil/fix_integration_modals_kubevirt
Browse files Browse the repository at this point in the history
Bug 1807951: Fix issues with modal buttons in kubevirt integration tests
  • Loading branch information
openshift-merge-robot authored Mar 2, 2020
2 parents 5fcd2cf + 43f156c commit f7e4529
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 36 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
getSelectOptions,
} from '../utils/utils';
import * as view from '../../views/dialogs/diskDialog.view';
import { applyButton, saveButton } from '../../views/kubevirtDetailView.view';
import { modalSubmitButton, saveButton } from '../../views/kubevirtDetailView.view';
import { StorageResource, DiskSourceConfig } from '../utils/types';
import { DISK_SOURCE } from '../utils/consts';
import { waitForNoLoaders, modalCancelButton } from '../../views/wizard.view';
Expand Down Expand Up @@ -81,7 +81,7 @@ export class DiskDialog {

await this.selectInterface(disk.interface);
await this.selectStorageClass(disk.storageClass);
await click(applyButton);
await click(modalSubmitButton);
await waitForNoLoaders();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { click } from '@console/shared/src/test-utils/utils';
import * as view from '../../views/dialogs/networkInterface.view';
import { fillInput, selectOptionByText, getSelectOptions } from '../utils/utils';
import { NetworkResource } from '../utils/types';
import { applyButton, saveButton } from '../../views/kubevirtDetailView.view';
import { modalSubmitButton, saveButton } from '../../views/kubevirtDetailView.view';
import { waitForNoLoaders } from '../../views/wizard.view';

export class NetworkInterfaceDialog {
Expand Down Expand Up @@ -37,7 +37,7 @@ export class NetworkInterfaceDialog {
await this.selectNetwork(NIC.network);
await this.selectType(NIC.type);
await this.fillMAC(NIC.mac);
await click(applyButton);
await click(modalSubmitButton);
await waitForNoLoaders();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import { $ } from 'protractor';

export const flavorDropdownId = '#vm-flavor-modal-flavor-dropdown';
export const flavorDropdown = $('#vm-flavor-modal-flavor');

export const modalTitle = () => $('[data-test-id="modal-title"]');
export const flavorDropdownText = () =>
$('.kubevirt-vm-flavor-modal__dropdown .pf-c-dropdown__toggle-text');
export const saveButton = () => $('#confirm-action');
export const saveButton = () => $('#vm-flavor-modal-submit');
export const cpusInput = () => $('#vm-flavor-modal-cpu');
export const memoryInput = () => $('#vm-flavor-modal-memory');
export const memoryInput = () => $('#vm-flavor-modal-memory-size');
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import { NetworkInterfaceDialog } from '../dialogs/networkInterfaceDialog';
import { DiskDialog } from '../dialogs/diskDialog';
import { DetailView } from './detailView';
import * as editFlavor from './editFlavorView';
import { waitForNoLoaders } from '../../views/wizard.view';

export class KubevirtDetailView extends DetailView {
async getAttachedDisks(): Promise<StorageResource[]> {
Expand Down Expand Up @@ -89,6 +90,7 @@ export class KubevirtDetailView extends DetailView {
async modalEditFlavor() {
await click(vmDetailFlavorEditButton(this.namespace, this.name));
await browser.wait(until.presenceOf(editFlavor.modalTitle()));
await waitForNoLoaders();
}

async modalEditCDRoms() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { browser, ExpectedConditions as until } from 'protractor';
import { testName } from '@console/internal-integration-tests/protractor.conf';
import { createResources, deleteResource } from '@console/shared/src/test-utils/utils';
import { createResources, deleteResources } from '@console/shared/src/test-utils/utils';
import { VirtualMachineModel } from '../../src/models';
import {
vmDetailsName,
Expand Down Expand Up @@ -29,10 +29,6 @@ describe('Test VM dashboard', () => {

let vm: VirtualMachine;

afterAll(async () => {
deleteResource(vm.asResource());
});

beforeAll(async () => {
createResources([multusNAD, testVM]);
vm = new VirtualMachine(testVM.metadata);
Expand All @@ -52,6 +48,10 @@ describe('Test VM dashboard', () => {
);
}, VM_IMPORT_TIMEOUT_SECS);

afterAll(() => {
deleteResources([vm.asResource(), multusNAD]);
});

it('Inventory card', async () => {
expect(vmInventoryNICs.getText()).toEqual('1 NIC');
expect(vmInventoryNICs.$('a').getAttribute('href')).toMatch(
Expand All @@ -68,6 +68,9 @@ describe('Test VM dashboard', () => {

expect(vmInventoryNICs.getText()).toEqual('2 NICs');
expect(vmInventoryDisks.getText()).toEqual('3 Disks');

await vm.removeDisk(hddDisk.name);
await vm.removeNIC(multusNetworkInterface.name);
});

it('Status card', async () => {
Expand All @@ -80,7 +83,7 @@ describe('Test VM dashboard', () => {
expect(vmStatus.getText()).toEqual(VM_STATUS.Running);
});

xit('BZ(1803857) Details card', async () => {
it('BZ(1807865) Details card', async () => {
expect(vmDetailsName.getText()).toEqual(vm.name);
expect(vmDetailsNamespace.getText()).toEqual(vm.namespace);
expect(vmDetailsNode.getText()).not.toEqual(NOT_AVAILABLE);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
import { browser, ExpectedConditions as until } from 'protractor';
import { testName } from '@console/internal-integration-tests/protractor.conf';
import {
withResource,
selectDropdownOptionById,
click,
} from '@console/shared/src/test-utils/utils';
import { withResource, click } from '@console/shared/src/test-utils/utils';
import * as virtualMachineView from '../views/virtualMachine.view';
import { VM_CREATE_AND_EDIT_TIMEOUT_SECS } from './utils/consts';
import { VirtualMachine } from './models/virtualMachine';
import { vmConfig, getProvisionConfigs } from './vm.wizard.configs';
import * as editFlavorView from './models/editFlavorView';
import { fillInput } from './utils/utils';
import { fillInput, selectOptionByText, getSelectedOptionText } from './utils/utils';
import { ProvisionConfigName } from './utils/constants/wizard';

describe('KubeVirt VM detail - edit flavor', () => {
Expand Down Expand Up @@ -41,13 +37,8 @@ describe('KubeVirt VM detail - edit flavor', () => {
),
);
await vm.modalEditFlavor();
await browser.wait(
until.textToBePresentInElement(editFlavorView.flavorDropdownText(), 'Tiny'),
);
await selectDropdownOptionById(editFlavorView.flavorDropdownId, 'large-link');
await browser.wait(
until.textToBePresentInElement(editFlavorView.flavorDropdownText(), 'Large'),
);
expect(await getSelectedOptionText(editFlavorView.flavorDropdown)).toEqual('Tiny');
await selectOptionByText(editFlavorView.flavorDropdown, 'Large');
await click(editFlavorView.saveButton());

await browser.wait(
Expand Down Expand Up @@ -86,14 +77,8 @@ describe('KubeVirt VM detail - edit flavor', () => {
),
);
await vm.modalEditFlavor();

await browser.wait(
until.textToBePresentInElement(editFlavorView.flavorDropdownText(), 'Tiny'),
);
await selectDropdownOptionById(editFlavorView.flavorDropdownId, 'Custom-link');
await browser.wait(
until.textToBePresentInElement(editFlavorView.flavorDropdownText(), 'Custom'),
);
expect(await getSelectedOptionText(editFlavorView.flavorDropdown)).toEqual('Tiny');
await selectOptionByText(editFlavorView.flavorDropdown, 'Custom');
await fillInput(editFlavorView.cpusInput(), '2');
await fillInput(editFlavorView.memoryInput(), '3');
await click(editFlavorView.saveButton());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { click } from '@console/shared/src/test-utils/utils';
export const createNICButton = $('#create-nic-btn');
export const createDiskButton = $('#create-disk-btn');

export const modalSubmitButton = $('.modal-content .pf-m-primary');
export const cancelButton = element(by.buttonText('Cancel'));
export const applyButton = element(by.buttonText('Add'));
export const saveButton = element(by.buttonText('Save'));
Expand Down

0 comments on commit f7e4529

Please sign in to comment.