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