Skip to content

Commit 53af42f

Browse files
authored
Merge pull request #1063 from microting/copilot/update-wdio-tests-action-menu
Update WDIO tests for action menu-based plugin activation
2 parents cf319be + f1d070a commit 53af42f

File tree

2 files changed

+85
-4
lines changed

2 files changed

+85
-4
lines changed
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
import loginPage from '../../Page objects/Login.page';
2+
import myEformsPage from '../../Page objects/MyEforms.page';
3+
import pluginPage from '../../Page objects/Plugin.page';
4+
5+
import { expect } from 'chai';
6+
import { $ } from '@wdio/globals';
7+
8+
describe('Application settings page - site header section', function () {
9+
before(async () => {
10+
await loginPage.open('/auth');
11+
});
12+
it('should go to plugin settings page', async () => {
13+
await loginPage.login();
14+
await myEformsPage.Navbar.goToPluginsPage();
15+
//await (await $('#plugin-name')).waitForDisplayed({ timeout: 50000 });
16+
17+
const plugin = await pluginPage.getFirstPluginRowObj();
18+
expect(plugin.id).equal(1);
19+
expect(plugin.name).equal('Microting Greate Belt Plugin');
20+
21+
// Open action menu to check status
22+
const actionMenuBtn = await $('#action-items-0').$('#actionMenu');
23+
await actionMenuBtn.waitForDisplayed({ timeout: 40000 });
24+
await actionMenuBtn.waitForClickable({ timeout: 40000 });
25+
await actionMenuBtn.click();
26+
await browser.pause(500);
27+
28+
const statusBtn = await $('#plugin-status-button0');
29+
await statusBtn.waitForDisplayed({ timeout: 40000 });
30+
const statusIcon = await statusBtn.$('mat-icon');
31+
const status = await statusIcon.getText();
32+
expect(status, 'status is not equal').eq('toggle_off');
33+
34+
// Close the menu
35+
await browser.keys(['Escape']);
36+
await browser.pause(300);
37+
});
38+
39+
it('should activate the plugin', async () => {
40+
// Open action menu
41+
const actionMenuBtn = await $('#action-items-0').$('#actionMenu');
42+
await actionMenuBtn.waitForDisplayed({ timeout: 40000 });
43+
await actionMenuBtn.waitForClickable({ timeout: 40000 });
44+
await actionMenuBtn.click();
45+
await browser.pause(500);
46+
47+
// Click on the status button inside the menu
48+
const statusBtn = await $('#plugin-status-button0');
49+
await statusBtn.waitForDisplayed({ timeout: 40000 });
50+
await statusBtn.waitForClickable({ timeout: 40000 });
51+
await statusBtn.click();
52+
await browser.pause(500);
53+
54+
// Confirm activation in the modal
55+
const pluginOKBtn = await $('#pluginOKBtn');
56+
await pluginOKBtn.waitForDisplayed({ timeout: 40000 });
57+
await pluginOKBtn.click();
58+
await browser.pause(100000); // We need to wait 100 seconds for the plugin to create db etc.
59+
60+
// Re-login and navigate back to plugins page
61+
await loginPage.open('/');
62+
await loginPage.login();
63+
await myEformsPage.Navbar.goToPluginsPage();
64+
await browser.pause(500);
65+
66+
// Verify the plugin is now activated
67+
const plugin = await pluginPage.getFirstPluginRowObj();
68+
expect(plugin.id).equal(1);
69+
expect(plugin.name).equal('Microting Greate Belt Plugin');
70+
71+
// Open action menu to check new status
72+
const actionMenuBtn2 = await $('#action-items-0').$('#actionMenu');
73+
await actionMenuBtn2.waitForDisplayed({ timeout: 40000 });
74+
await actionMenuBtn2.waitForClickable({ timeout: 40000 });
75+
await actionMenuBtn2.click();
76+
await browser.pause(500);
77+
78+
const statusBtn2 = await $('#plugin-status-button0');
79+
await statusBtn2.waitForDisplayed({ timeout: 40000 });
80+
const statusIcon2 = await statusBtn2.$('mat-icon');
81+
const status = await statusIcon2.getText();
82+
expect(status, 'status is not equal').eq('toggle_on');
83+
});
84+
});

eform-client/wdio-headless-plugin-step2.conf.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@ export const config: Options.Testrunner = {
1515
// directory is where your package.json resides, so `wdio` will be called from there.
1616
//
1717
specs: [
18-
'e2e/Tests/workflow-settings/application-settings.plugins-page.spec.ts',
19-
'e2e/Tests/workflow-general/workflow.sorting.ts',
20-
'e2e/Tests/workflow-general/workflow.filtration.ts',
21-
'e2e/Tests/workflow-general/workflow.edit.ts',
18+
'e2e/Tests/greate-belt-settings/application-settings.plugins-page.spec.ts',
2219
],
2320
suites: {
2421
settings: [

0 commit comments

Comments
 (0)