1
1
/**
2
2
* Node dependencies
3
3
*/
4
- import { visitAdmin } from './utils' ;
4
+ import { visitAdmin , switchToAdminUser , switchToTestUser } from './utils' ;
5
5
6
6
/**
7
7
* Install a plugin from the WP.org repository.
@@ -10,9 +10,11 @@ import { visitAdmin } from './utils';
10
10
* @param {string? } searchTerm If the plugin is not findable by its slug use an alternative term to search.
11
11
*/
12
12
export async function installPlugin ( slug , searchTerm ) {
13
+ await switchToAdminUser ( ) ;
13
14
await visitAdmin ( 'plugin-install.php?s=' + encodeURIComponent ( searchTerm || slug ) + '&tab=search&type=term' ) ;
14
15
await page . click ( '.install-now[data-slug="' + slug + '"]' ) ;
15
16
await page . waitForSelector ( '.activate-now[data-slug="' + slug + '"]' ) ;
17
+ await switchToTestUser ( ) ;
16
18
}
17
19
18
20
/**
@@ -21,9 +23,11 @@ export async function installPlugin( slug, searchTerm ) {
21
23
* @param {string } slug Plugin slug.
22
24
*/
23
25
export async function activatePlugin ( slug ) {
26
+ await switchToAdminUser ( ) ;
24
27
await visitAdmin ( 'plugins.php' ) ;
25
28
await page . click ( 'tr[data-slug="' + slug + '"] .activate a' ) ;
26
29
await page . waitForSelector ( 'tr[data-slug="' + slug + '"] .deactivate a' ) ;
30
+ await switchToTestUser ( ) ;
27
31
}
28
32
29
33
/**
@@ -32,9 +36,11 @@ export async function activatePlugin( slug ) {
32
36
* @param {string } slug Plugin slug.
33
37
*/
34
38
export async function deactivatePlugin ( slug ) {
39
+ await switchToAdminUser ( ) ;
35
40
await visitAdmin ( 'plugins.php' ) ;
36
41
await page . click ( 'tr[data-slug="' + slug + '"] .deactivate a' ) ;
37
42
await page . waitForSelector ( 'tr[data-slug="' + slug + '"] .delete a' ) ;
43
+ await switchToTestUser ( ) ;
38
44
}
39
45
40
46
/**
@@ -43,6 +49,7 @@ export async function deactivatePlugin( slug ) {
43
49
* @param {string } slug Plugin slug.
44
50
*/
45
51
export async function uninstallPlugin ( slug ) {
52
+ await switchToAdminUser ( ) ;
46
53
await visitAdmin ( 'plugins.php' ) ;
47
54
const confirmPromise = new Promise ( ( resolve ) => {
48
55
page . once ( 'dialog' , ( ) => resolve ( ) ) ;
@@ -52,4 +59,5 @@ export async function uninstallPlugin( slug ) {
52
59
page . click ( 'tr[data-slug="' + slug + '"] .delete a' ) ,
53
60
] ) ;
54
61
await page . waitForSelector ( 'tr[data-slug="' + slug + '"].deleted' ) ;
62
+ await switchToTestUser ( ) ;
55
63
}
0 commit comments