Skip to content

Commit

Permalink
Merge pull request #5188 from glekner/test-affinity
Browse files Browse the repository at this point in the history
Bug 1834734: add integration test for affinity modal
  • Loading branch information
openshift-merge-robot committed May 13, 2020
2 parents d286abe + d8c7482 commit 1ca53d2
Show file tree
Hide file tree
Showing 4 changed files with 81 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import {
vmDetailStatusEditButton,
vmDetailNodeSelectorEditButton,
vmDetailTolerationsEditButton,
vmDetailAffinityEditButton,
} from '../../views/virtualMachine.view';
import {
activeTab,
Expand All @@ -31,6 +32,7 @@ import * as editDedicatedResourcesView from '../../views/dialogs/editDedicatedRe
import * as editStatusView from '../../views/dialogs/editStatusView';
import * as editNodeSelectorView from '../../views/editNodeSelectorView';
import * as editTolerationsView from '../../views/editTolerationsView';
import * as editAffinityView from '../../views/editAffinityView';
import { NetworkInterfaceDialog } from '../dialogs/networkInterfaceDialog';
import { DiskDialog } from '../dialogs/diskDialog';
import { UIResource } from './uiResource';
Expand Down Expand Up @@ -201,4 +203,9 @@ export class KubevirtUIResource extends UIResource {
await click(vmDetailTolerationsEditButton(this.namespace, this.name));
await browser.wait(until.presenceOf(editTolerationsView.modalTitle));
}

async modalEditAffinity() {
await click(vmDetailAffinityEditButton(this.namespace, this.name));
await browser.wait(until.presenceOf(editAffinityView.modalTitle));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import { browser, ExpectedConditions as until } from 'protractor';
import { testName } from '@console/internal-integration-tests/protractor.conf';
import { createResource, deleteResource, click } from '@console/shared/src/test-utils/utils';
import * as editAffinityView from '../views/editAffinityView';
import * as virtualMachineView from '../views/virtualMachine.view';
import { VM_CREATE_AND_EDIT_TIMEOUT_SECS } from './utils/consts';
import { VirtualMachine } from './models/virtualMachine';
import { getVMManifest } from './utils/mocks';
import { getRandStr } from './utils/utils';

describe('KubeVirt VM detail - edit Affinity', () => {
const testVM = getVMManifest('Container', testName, `affinity-vm-${getRandStr(5)}`);
const vm = new VirtualMachine(testVM.metadata);

beforeAll(async () => {
createResource(testVM);
});

afterAll(() => {
deleteResource(testVM);
});

it(
'ID(CNV-4159) Adds an Affinity, then removes it',
async () => {
await vm.navigateToDetail();
await vm.modalEditAffinity();
await click(editAffinityView.addAffinityBtn);
await editAffinityView.affinityKeyInputByID(0).sendKeys('key');
await click(editAffinityView.valuesSelectElement);
await editAffinityView.valuesSelectElement.sendKeys('affinity-value');
await click(editAffinityView.createValueBtn);
await click(editAffinityView.editSubmitBtn);
await click(editAffinityView.submitBtn);

await browser.wait(
until.textToBePresentInElement(
virtualMachineView.vmDetailAffinity(vm.namespace, vm.name),
'1 Affinity rules',
),
);

await vm.modalEditAffinity();
await click(editAffinityView.kebab);
await click(editAffinityView.kebabDelete);
await click(editAffinityView.submitBtn);

await browser.wait(
until.textToBePresentInElement(
virtualMachineView.vmDetailAffinity(vm.namespace, vm.name),
'0 Affinity rules',
),
);
},
VM_CREATE_AND_EDIT_TIMEOUT_SECS,
);
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { $ } from 'protractor';

export const modalTitle = $('[data-test-id="modal-title"]');
export const addAffinityBtn = $('#add-affinity-btn');
export const submitBtn = $('#affinity-submit');
export const editSubmitBtn = $('#affinity-edit-submit');
export const valuesSelectElement = $('.pf-c-select__toggle-typeahead');
export const createValueBtn = $('#affinity-value-0');
export const kebab = $('[data-test-id="kebab-button"]');
export const kebabDelete = $('[data-test-action="Delete"]');
export const affinityKeyInputByID = (id) => $(`#affinity-${id}-key-input`);
export const affinityValuesSelectByID = (id) => $(`#affinity-${id}-values-select`);
export const deleteBtnByID = (id) => $(`#affinity-${id}-delete-btn`);
Original file line number Diff line number Diff line change
Expand Up @@ -80,3 +80,7 @@ export const vmDetailTolerations = (namespace, vmName) =>
$(vmDetailItemId(namespace, vmName, 'tolerations'));
export const vmDetailTolerationsEditButton = (namespace, vmName) =>
$(vmDetailItemId(namespace, vmName, 'tolerations-edit'));
export const vmDetailAffinity = (namespace, vmName) =>
$(vmDetailItemId(namespace, vmName, 'affinity'));
export const vmDetailAffinityEditButton = (namespace, vmName) =>
$(vmDetailItemId(namespace, vmName, 'affinity-edit'));

0 comments on commit 1ca53d2

Please sign in to comment.