@@ -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