Skip to content

Commit 6ecf25a

Browse files
Copilotrenemadsen
andcommitted
Update WDIO tests to use action menu for plugin activation
Co-authored-by: renemadsen <[email protected]>
1 parent 579cdc7 commit 6ecf25a

File tree

1 file changed

+58
-7
lines changed

1 file changed

+58
-7
lines changed

eform-client/e2e/Tests/items-planning-settings/application-settings.plugins-page.spec.ts

Lines changed: 58 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,69 @@ describe('Application settings page - site header section', function () {
1818
expect(plugin.id).equal(1);
1919
expect(plugin.name).equal('Microting Items Planning Plugin');
2020
expect(plugin.version).equal('1.0.0.0');
21-
expect(plugin.status, 'status is not equal').eq('toggle_off');
21+
22+
// Open action menu to check status
23+
const actionMenuBtn = await $('#action-items-0').$('#actionMenu');
24+
await actionMenuBtn.waitForDisplayed({ timeout: 40000 });
25+
await actionMenuBtn.waitForClickable({ timeout: 40000 });
26+
await actionMenuBtn.click();
27+
await browser.pause(500);
28+
29+
const statusBtn = await $('#plugin-status-button0');
30+
await statusBtn.waitForDisplayed({ timeout: 40000 });
31+
const statusIcon = await statusBtn.$('mat-icon');
32+
const status = await statusIcon.getText();
33+
expect(status, 'status is not equal').eq('toggle_off');
34+
35+
// Close the menu
36+
await browser.keys(['Escape']);
37+
await browser.pause(300);
2238
});
2339

2440
it('should activate the plugin', async () => {
25-
let plugin = await pluginPage.getFirstPluginRowObj();
26-
await plugin.enableOrDisablePlugin();
27-
28-
// $('Microting Items Planning Plugin').waitForDisplayed({timeout: 10000});
29-
plugin = await pluginPage.getFirstPluginRowObj();
41+
// Open action menu
42+
const actionMenuBtn = await $('#action-items-0').$('#actionMenu');
43+
await actionMenuBtn.waitForDisplayed({ timeout: 40000 });
44+
await actionMenuBtn.waitForClickable({ timeout: 40000 });
45+
await actionMenuBtn.click();
46+
await browser.pause(500);
47+
48+
// Click on the status button inside the menu
49+
const statusBtn = await $('#plugin-status-button0');
50+
await statusBtn.waitForDisplayed({ timeout: 40000 });
51+
await statusBtn.waitForClickable({ timeout: 40000 });
52+
await statusBtn.click();
53+
await browser.pause(500);
54+
55+
// Confirm activation in the modal
56+
const pluginOKBtn = await $('#pluginOKBtn');
57+
await pluginOKBtn.waitForDisplayed({ timeout: 40000 });
58+
await pluginOKBtn.click();
59+
await browser.pause(100000); // We need to wait 100 seconds for the plugin to create db etc.
60+
61+
// Re-login and navigate back to plugins page
62+
await loginPage.open('/');
63+
await loginPage.login();
64+
await myEformsPage.Navbar.goToPluginsPage();
65+
await browser.pause(500);
66+
67+
// Verify the plugin is now activated
68+
const plugin = await pluginPage.getFirstPluginRowObj();
3069
expect(plugin.id).equal(1);
3170
expect(plugin.name).equal('Microting Items Planning Plugin');
3271
expect(plugin.version).equal('1.0.0.0');
33-
expect(plugin.status, 'status is not equal').eq('toggle_on');
72+
73+
// Open action menu to check new status
74+
const actionMenuBtn2 = await $('#action-items-0').$('#actionMenu');
75+
await actionMenuBtn2.waitForDisplayed({ timeout: 40000 });
76+
await actionMenuBtn2.waitForClickable({ timeout: 40000 });
77+
await actionMenuBtn2.click();
78+
await browser.pause(500);
79+
80+
const statusBtn2 = await $('#plugin-status-button0');
81+
await statusBtn2.waitForDisplayed({ timeout: 40000 });
82+
const statusIcon2 = await statusBtn2.$('mat-icon');
83+
const status = await statusIcon2.getText();
84+
expect(status, 'status is not equal').eq('toggle_on');
3485
});
3586
});

0 commit comments

Comments
 (0)