@wordpress/e2e-test-utils-playwright 1.47.0 → 1.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/package.json +3 -3
  2. package/src/admin/create-new-post.ts +47 -0
  3. package/src/admin/edit-post.ts +24 -0
  4. package/{build/admin/get-page-error.js → src/admin/get-page-error.ts} +12 -9
  5. package/src/admin/index.ts +52 -0
  6. package/src/admin/visit-admin-page.ts +43 -0
  7. package/src/admin/visit-site-editor.ts +62 -0
  8. package/src/admin/wait-for-site-editor.ts +52 -0
  9. package/src/config.ts +12 -0
  10. package/src/editor/click-block-options-menu-item.ts +18 -0
  11. package/src/editor/click-block-toolbar-button.ts +21 -0
  12. package/src/editor/get-blocks.ts +75 -0
  13. package/src/editor/get-edited-post-content.ts +19 -0
  14. package/src/editor/index.ts +95 -0
  15. package/src/editor/insert-block.ts +54 -0
  16. package/src/editor/open-document-settings-sidebar.ts +31 -0
  17. package/src/editor/preview.ts +32 -0
  18. package/src/editor/publish-post.ts +51 -0
  19. package/src/editor/save-draft.ts +20 -0
  20. package/src/editor/select-blocks.ts +48 -0
  21. package/src/editor/set-content.ts +24 -0
  22. package/src/editor/set-is-fixed-toolbar.ts +20 -0
  23. package/src/editor/set-preferences.ts +37 -0
  24. package/src/editor/show-block-toolbar.ts +20 -0
  25. package/src/editor/site-editor.ts +55 -0
  26. package/src/editor/switch-editor-tool.ts +34 -0
  27. package/src/editor/switch-to-legacy-canvas.ts +20 -0
  28. package/src/editor/transform-block-to.ts +34 -0
  29. package/src/index.ts +8 -0
  30. package/src/lighthouse/index.ts +75 -0
  31. package/src/metrics/index.ts +441 -0
  32. package/src/page-utils/drag-files.ts +173 -0
  33. package/src/page-utils/emulate-network-conditions.ts +101 -0
  34. package/src/page-utils/index.ts +54 -0
  35. package/src/page-utils/is-current-url.ts +20 -0
  36. package/src/page-utils/keycodes.ts +48 -0
  37. package/src/page-utils/press-keys.ts +195 -0
  38. package/{build → src}/page-utils/set-browser-viewport.js +14 -12
  39. package/src/request-utils/blocks.ts +58 -0
  40. package/src/request-utils/comments.ts +80 -0
  41. package/src/request-utils/gutenberg-experiments.ts +62 -0
  42. package/src/request-utils/index.ts +222 -0
  43. package/src/request-utils/login.ts +34 -0
  44. package/src/request-utils/media.ts +102 -0
  45. package/src/request-utils/menus.ts +145 -0
  46. package/src/request-utils/pages.ts +75 -0
  47. package/src/request-utils/patterns.ts +31 -0
  48. package/src/request-utils/plugins.ts +103 -0
  49. package/src/request-utils/posts.ts +69 -0
  50. package/src/request-utils/preferences.ts +63 -0
  51. package/{build/request-utils/records.js → src/request-utils/records.ts} +15 -10
  52. package/src/request-utils/rest.ts +222 -0
  53. package/src/request-utils/site-settings.ts +58 -0
  54. package/src/request-utils/templates.ts +83 -0
  55. package/src/request-utils/themes.ts +110 -0
  56. package/src/request-utils/users.ts +125 -0
  57. package/src/request-utils/widgets.js +68 -0
  58. package/src/test.ts +204 -0
  59. package/src/types.ts +13 -0
  60. package/build/admin/create-new-post.js +0 -31
  61. package/build/admin/create-new-post.js.map +0 -1
  62. package/build/admin/edit-post.js +0 -20
  63. package/build/admin/edit-post.js.map +0 -1
  64. package/build/admin/get-page-error.js.map +0 -1
  65. package/build/admin/index.js +0 -40
  66. package/build/admin/index.js.map +0 -1
  67. package/build/admin/visit-admin-page.js +0 -32
  68. package/build/admin/visit-admin-page.js.map +0 -1
  69. package/build/admin/visit-site-editor.js +0 -45
  70. package/build/admin/visit-site-editor.js.map +0 -1
  71. package/build/admin/wait-for-site-editor.js +0 -41
  72. package/build/admin/wait-for-site-editor.js.map +0 -1
  73. package/build/config.js +0 -13
  74. package/build/config.js.map +0 -1
  75. package/build/editor/click-block-options-menu-item.js +0 -17
  76. package/build/editor/click-block-options-menu-item.js.map +0 -1
  77. package/build/editor/click-block-toolbar-button.js +0 -16
  78. package/build/editor/click-block-toolbar-button.js.map +0 -1
  79. package/build/editor/get-blocks.js +0 -45
  80. package/build/editor/get-blocks.js.map +0 -1
  81. package/build/editor/get-edited-post-content.js +0 -15
  82. package/build/editor/get-edited-post-content.js.map +0 -1
  83. package/build/editor/index.js +0 -75
  84. package/build/editor/index.js.map +0 -1
  85. package/build/editor/insert-block.js +0 -23
  86. package/build/editor/insert-block.js.map +0 -1
  87. package/build/editor/open-document-settings-sidebar.js +0 -27
  88. package/build/editor/open-document-settings-sidebar.js.map +0 -1
  89. package/build/editor/preview.js +0 -21
  90. package/build/editor/preview.js.map +0 -1
  91. package/build/editor/publish-post.js +0 -45
  92. package/build/editor/publish-post.js.map +0 -1
  93. package/build/editor/save-draft.js +0 -18
  94. package/build/editor/save-draft.js.map +0 -1
  95. package/build/editor/select-blocks.js +0 -28
  96. package/build/editor/select-blocks.js.map +0 -1
  97. package/build/editor/set-content.js +0 -17
  98. package/build/editor/set-content.js.map +0 -1
  99. package/build/editor/set-is-fixed-toolbar.js +0 -18
  100. package/build/editor/set-is-fixed-toolbar.js.map +0 -1
  101. package/build/editor/set-preferences.js +0 -21
  102. package/build/editor/set-preferences.js.map +0 -1
  103. package/build/editor/show-block-toolbar.js +0 -19
  104. package/build/editor/show-block-toolbar.js.map +0 -1
  105. package/build/editor/site-editor.js +0 -44
  106. package/build/editor/site-editor.js.map +0 -1
  107. package/build/editor/switch-editor-tool.js +0 -33
  108. package/build/editor/switch-editor-tool.js.map +0 -1
  109. package/build/editor/switch-to-legacy-canvas.js +0 -18
  110. package/build/editor/switch-to-legacy-canvas.js.map +0 -1
  111. package/build/editor/transform-block-to.js +0 -24
  112. package/build/editor/transform-block-to.js.map +0 -1
  113. package/build/index.js +0 -19
  114. package/build/index.js.map +0 -1
  115. package/build/lighthouse/index.js +0 -61
  116. package/build/lighthouse/index.js.map +0 -1
  117. package/build/metrics/index.js +0 -314
  118. package/build/metrics/index.js.map +0 -1
  119. package/build/page-utils/drag-files.js +0 -119
  120. package/build/page-utils/drag-files.js.map +0 -1
  121. package/build/page-utils/emulate-network-conditions.js +0 -71
  122. package/build/page-utils/emulate-network-conditions.js.map +0 -1
  123. package/build/page-utils/index.js +0 -37
  124. package/build/page-utils/index.js.map +0 -1
  125. package/build/page-utils/is-current-url.js +0 -21
  126. package/build/page-utils/is-current-url.js.map +0 -1
  127. package/build/page-utils/keycodes.js +0 -41
  128. package/build/page-utils/keycodes.js.map +0 -1
  129. package/build/page-utils/press-keys.js +0 -141
  130. package/build/page-utils/press-keys.js.map +0 -1
  131. package/build/page-utils/set-browser-viewport.js.map +0 -1
  132. package/build/request-utils/blocks.js +0 -40
  133. package/build/request-utils/blocks.js.map +0 -1
  134. package/build/request-utils/comments.js +0 -52
  135. package/build/request-utils/comments.js.map +0 -1
  136. package/build/request-utils/gutenberg-experiments.js +0 -47
  137. package/build/request-utils/gutenberg-experiments.js.map +0 -1
  138. package/build/request-utils/index.js +0 -196
  139. package/build/request-utils/index.js.map +0 -1
  140. package/build/request-utils/login.js +0 -21
  141. package/build/request-utils/login.js.map +0 -1
  142. package/build/request-utils/media.js +0 -106
  143. package/build/request-utils/media.js.map +0 -1
  144. package/build/request-utils/menus.js +0 -116
  145. package/build/request-utils/menus.js.map +0 -1
  146. package/build/request-utils/pages.js +0 -53
  147. package/build/request-utils/pages.js.map +0 -1
  148. package/build/request-utils/patterns.js +0 -27
  149. package/build/request-utils/patterns.js.map +0 -1
  150. package/build/request-utils/plugins.js +0 -85
  151. package/build/request-utils/plugins.js.map +0 -1
  152. package/build/request-utils/posts.js +0 -42
  153. package/build/request-utils/posts.js.map +0 -1
  154. package/build/request-utils/preferences.js +0 -54
  155. package/build/request-utils/preferences.js.map +0 -1
  156. package/build/request-utils/records.js.map +0 -1
  157. package/build/request-utils/rest.js +0 -181
  158. package/build/request-utils/rest.js.map +0 -1
  159. package/build/request-utils/site-settings.js +0 -33
  160. package/build/request-utils/site-settings.js.map +0 -1
  161. package/build/request-utils/templates.js +0 -54
  162. package/build/request-utils/templates.js.map +0 -1
  163. package/build/request-utils/themes.js +0 -69
  164. package/build/request-utils/themes.js.map +0 -1
  165. package/build/request-utils/users.js +0 -81
  166. package/build/request-utils/users.js.map +0 -1
  167. package/build/request-utils/widgets.js +0 -61
  168. package/build/request-utils/widgets.js.map +0 -1
  169. package/build/test.js +0 -189
  170. package/build/test.js.map +0 -1
  171. package/build/types.js +0 -3
  172. package/build/types.js.map +0 -1
@@ -1,106 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.listMedia = listMedia;
37
- exports.uploadMedia = uploadMedia;
38
- exports.deleteMedia = deleteMedia;
39
- exports.deleteAllMedia = deleteAllMedia;
40
- /**
41
- * External dependencies
42
- */
43
- const fs = __importStar(require("fs"));
44
- /**
45
- * List all media files.
46
- *
47
- * @see https://developer.wordpress.org/rest-api/reference/media/#list-media
48
- * @param this
49
- */
50
- async function listMedia() {
51
- const response = await this.rest({
52
- method: 'GET',
53
- path: '/wp/v2/media',
54
- params: {
55
- per_page: 100,
56
- },
57
- });
58
- return response;
59
- }
60
- /**
61
- * Upload a media file.
62
- *
63
- * @see https://developer.wordpress.org/rest-api/reference/media/#create-a-media-item
64
- * @param this
65
- * @param filePathOrData The path or data of the file being uploaded.
66
- */
67
- async function uploadMedia(filePathOrData) {
68
- const file = typeof filePathOrData === 'string'
69
- ? fs.createReadStream(filePathOrData)
70
- : filePathOrData;
71
- const response = await this.rest({
72
- method: 'POST',
73
- path: '/wp/v2/media',
74
- multipart: {
75
- file,
76
- },
77
- });
78
- return response;
79
- }
80
- /**
81
- * delete a media file.
82
- *
83
- * @see https://developer.wordpress.org/rest-api/reference/media/#delete-a-media-item
84
- * @param this
85
- * @param mediaId The ID of the media file.
86
- */
87
- async function deleteMedia(mediaId) {
88
- const response = await this.rest({
89
- method: 'DELETE',
90
- path: `/wp/v2/media/${mediaId}`,
91
- params: { force: true },
92
- });
93
- return response;
94
- }
95
- /**
96
- * delete all media files.
97
- *
98
- * @param this
99
- */
100
- async function deleteAllMedia() {
101
- const files = await this.listMedia();
102
- // The media endpoint doesn't support batch request yet.
103
- const responses = await Promise.all(files.map((media) => this.deleteMedia(media.id)));
104
- return responses;
105
- }
106
- //# sourceMappingURL=media.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/request-utils/media.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqGS,SAAS;QAAE,WAAW;QAAE,WAAW;QAAE,cAAc;AArG5D;;GAEG;AACH,MAAY,EAAE,+BAAW;AAoBzB;;;;;GAKG;AACH,KAAK,UAAU,SAAS;IACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAa;QAC5C,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE;YACP,QAAQ,EAAE,GAAG;SACb;KACD,CAAE,CAAC;IAEJ,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,WAAW,CAEzB,cAAsC;IAEtC,MAAM,IAAI,GACT,OAAO,cAAc,KAAK,QAAQ;QACjC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAE,cAAc,CAAE;QACvC,CAAC,CAAC,cAAc,CAAC;IAEnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAW;QAC1C,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE;YACV,IAAI;SACJ;KACD,CAAE,CAAC;IAEJ,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,WAAW,CAAsB,OAAe;IAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAE;QACjC,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,gBAAiB,OAAQ,EAAE;QACjC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;KACvB,CAAE,CAAC;IAEJ,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,cAAc;IAC5B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;IAErC,wDAAwD;IACxD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,KAAK,CAAC,GAAG,CAAE,CAAE,KAAK,EAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAE,KAAK,CAAC,EAAE,CAAE,CAAE,CACtD,CAAC;IAEF,OAAO,SAAS,CAAC;AAClB,CAAC"}
@@ -1,116 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createClassicMenu = createClassicMenu;
4
- exports.createNavigationMenu = createNavigationMenu;
5
- exports.deleteAllMenus = deleteAllMenus;
6
- exports.getNavigationMenus = getNavigationMenus;
7
- /**
8
- * Create a classic menu
9
- *
10
- * @param name Menu name.
11
- * @return Menu content.
12
- */
13
- async function createClassicMenu(name) {
14
- const menuItems = [
15
- {
16
- title: 'Custom link',
17
- url: 'http://localhost:8889/',
18
- type: 'custom',
19
- menu_order: 1,
20
- },
21
- ];
22
- const menu = await this.rest({
23
- method: 'POST',
24
- path: `/wp/v2/menus/`,
25
- data: {
26
- name,
27
- },
28
- });
29
- await this.batchRest(menuItems.map((menuItem) => ({
30
- method: 'POST',
31
- path: `/wp/v2/menu-items`,
32
- body: {
33
- menus: menu.id,
34
- object_id: undefined,
35
- ...menuItem,
36
- parent: undefined,
37
- },
38
- })));
39
- return menu;
40
- }
41
- /**
42
- * Create a navigation menu
43
- *
44
- * @param menuData navigation menu post data.
45
- * @return Menu content.
46
- */
47
- async function createNavigationMenu(menuData) {
48
- return this.createRecord('navigation', {
49
- status: 'publish',
50
- ...menuData,
51
- });
52
- }
53
- /**
54
- * Delete all navigation and classic menus
55
- *
56
- */
57
- async function deleteAllMenus() {
58
- const navMenus = await this.rest({
59
- path: `/wp/v2/navigation/`,
60
- data: {
61
- status: [
62
- 'publish',
63
- 'pending',
64
- 'draft',
65
- 'auto-draft',
66
- 'future',
67
- 'private',
68
- 'inherit',
69
- 'trash',
70
- ],
71
- },
72
- });
73
- if (navMenus.length) {
74
- await this.batchRest(navMenus.map((menu) => ({
75
- method: 'DELETE',
76
- path: `/wp/v2/navigation/${menu.id}?force=true`,
77
- })));
78
- }
79
- const classicMenus = await this.rest({
80
- path: `/wp/v2/menus/`,
81
- data: {
82
- status: [
83
- 'publish',
84
- 'pending',
85
- 'draft',
86
- 'auto-draft',
87
- 'future',
88
- 'private',
89
- 'inherit',
90
- 'trash',
91
- ],
92
- },
93
- });
94
- if (classicMenus.length) {
95
- await this.batchRest(classicMenus.map((menu) => ({
96
- method: 'DELETE',
97
- path: `/wp/v2/menus/${menu.id}?force=true`,
98
- })));
99
- }
100
- }
101
- /**
102
- * Get latest navigation menus
103
- *
104
- * @param args
105
- * @param args.status
106
- * @return {string} Menu content.
107
- */
108
- async function getNavigationMenus(args) {
109
- const navigationMenus = await this.rest({
110
- method: 'GET',
111
- path: `/wp/v2/navigation/`,
112
- data: args,
113
- });
114
- return navigationMenus;
115
- }
116
- //# sourceMappingURL=menus.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"menus.js","sourceRoot":"","sources":["../../src/request-utils/menus.ts"],"names":[],"mappings":";;;;;;AAeA;;;;;GAKG;AACI,KAAK,4BAAiD,IAAY;IACxE,MAAM,SAAS,GAAG;QACjB;YACC,KAAK,EAAE,aAAa;YACpB,GAAG,EAAE,wBAAwB;YAC7B,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,CAAC;SACb;KACD,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAoB;QAC/C,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE;YACL,IAAI;SACJ;KACD,CAAE,CAAC;IAEJ,MAAM,IAAI,CAAC,SAAS,CACnB,SAAS,CAAC,GAAG,CAAE,CAAE,QAAQ,EAAG,EAAE,CAAC,CAAE;QAChC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE;YACL,KAAK,EAAE,IAAI,CAAC,EAAE;YACd,SAAS,EAAE,SAAS;YACpB,GAAG,QAAQ;YACX,MAAM,EAAE,SAAS;SACjB;KACD,CAAE,CAAE,CACL,CAAC;IAEF,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACI,KAAK,+BAEX,QAAkB;IAElB,OAAO,IAAI,CAAC,YAAY,CAAoB,YAAY,EAAE;QACzD,MAAM,EAAE,SAAS;QACjB,GAAG,QAAQ;KACX,CAAE,CAAC;AACL,CAAC;AAED;;;GAGG;AACI,KAAK;IACX,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAsB;QACrD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE;YACL,MAAM,EAAE;gBACP,SAAS;gBACT,SAAS;gBACT,OAAO;gBACP,YAAY;gBACZ,QAAQ;gBACR,SAAS;gBACT,SAAS;gBACT,OAAO;aACP;SACD;KACD,CAAE,CAAC;IAEJ,IAAK,QAAQ,CAAC,MAAM,EAAG,CAAC;QACvB,MAAM,IAAI,CAAC,SAAS,CACnB,QAAQ,CAAC,GAAG,CAAE,CAAE,IAAI,EAAG,EAAE,CAAC,CAAE;YAC3B,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,qBAAsB,IAAI,CAAC,EAAG,aAAa;SACjD,CAAE,CAAE,CACL,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAsB;QACzD,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE;YACL,MAAM,EAAE;gBACP,SAAS;gBACT,SAAS;gBACT,OAAO;gBACP,YAAY;gBACZ,QAAQ;gBACR,SAAS;gBACT,SAAS;gBACT,OAAO;aACP;SACD;KACD,CAAE,CAAC;IAEJ,IAAK,YAAY,CAAC,MAAM,EAAG,CAAC;QAC3B,MAAM,IAAI,CAAC,SAAS,CACnB,YAAY,CAAC,GAAG,CAAE,CAAE,IAAI,EAAG,EAAE,CAAC,CAAE;YAC/B,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,gBAAiB,IAAI,CAAC,EAAG,aAAa;SAC5C,CAAE,CAAE,CACL,CAAC;IACH,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACI,KAAK,6BAEX,IAA2B;IAE3B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,IAAI,CAAsB;QAC5D,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,IAAI;KACV,CAAE,CAAC;IACJ,OAAO,eAAe,CAAC;AACxB,CAAC"}
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deletePage = deletePage;
4
- exports.deleteAllPages = deleteAllPages;
5
- exports.createPage = createPage;
6
- const PAGE_STATUS = [
7
- 'publish',
8
- 'future',
9
- 'draft',
10
- 'pending',
11
- 'private',
12
- 'trash',
13
- ];
14
- async function deletePage(id) {
15
- // https://developer.wordpress.org/rest-api/reference/pages/#delete-a-page
16
- return await this.rest({
17
- method: 'DELETE',
18
- path: `/wp/v2/pages/${id}`,
19
- params: {
20
- force: true,
21
- },
22
- });
23
- }
24
- /**
25
- * Delete all pages using REST API.
26
- *
27
- * @param this
28
- */
29
- async function deleteAllPages() {
30
- // List all pages.
31
- // https://developer.wordpress.org/rest-api/reference/pages/#list-pages
32
- const pages = await this.rest({
33
- path: '/wp/v2/pages',
34
- params: {
35
- per_page: 100,
36
- status: PAGE_STATUS.join(','),
37
- },
38
- });
39
- // Delete all pages one by one.
40
- // "/wp/v2/pages" not yet supports batch requests.
41
- await Promise.all(pages.map((page) => deletePage.call(this, page.id)));
42
- }
43
- /**
44
- * Create a new page.
45
- *
46
- * @param this
47
- * @param payload The page payload.
48
- */
49
- async function createPage(payload) {
50
- // https://developer.wordpress.org/rest-api/reference/pages/#create-a-page
51
- return this.createRecord('pages', { ...payload });
52
- }
53
- //# sourceMappingURL=pages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/request-utils/pages.ts"],"names":[],"mappings":";;;;;AAKA,MAAM,WAAW,GAAG;IACnB,SAAS;IACT,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;CACE,CAAC;AAeJ,KAAK,qBAA0C,EAAU;IAC/D,0EAA0E;IAC1E,OAAO,MAAM,IAAI,CAAC,IAAI,CAAE;QACvB,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,gBAAiB,EAAG,EAAE;QAC5B,MAAM,EAAE;YACP,KAAK,EAAE,IAAI;SACX;KACD,CAAE,CAAC;AACL,CAAC;AAED;;;;GAIG;AACI,KAAK;IACX,kBAAkB;IAClB,uEAAuE;IACvE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAY;QACxC,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE;YACP,QAAQ,EAAE,GAAG;YAEb,MAAM,EAAE,WAAW,CAAC,IAAI,CAAE,GAAG,CAAE;SAC/B;KACD,CAAE,CAAC;IAEJ,+BAA+B;IAC/B,kDAAkD;IAClD,MAAM,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CAAE,CAAE,IAAI,EAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAE,CAAE,CACzD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACI,KAAK,qBAEX,OAA0B;IAE1B,0EAA0E;IAC1E,OAAO,IAAI,CAAC,YAAY,CAAU,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,CAAE,CAAC;AAC7D,CAAC"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deleteAllPatternCategories = deleteAllPatternCategories;
4
- /**
5
- * Delete all pattern categories using REST API.
6
- *
7
- * @see https://developer.wordpress.org/rest-api/reference/categories/#list-categories
8
- * @param this
9
- */
10
- async function deleteAllPatternCategories() {
11
- // List all pattern categories.
12
- // https://developer.wordpress.org/rest-api/reference/categories/#list-categories
13
- const categories = await this.rest({
14
- path: '/wp/v2/wp_pattern_category',
15
- params: {
16
- per_page: 100,
17
- },
18
- });
19
- // Delete pattern categories.
20
- // https://developer.wordpress.org/rest-api/reference/categories/#delete-a-category
21
- // "/wp/v2/category" does not yet supports batch requests.
22
- await this.batchRest(categories.map((category) => ({
23
- method: 'DELETE',
24
- path: `/wp/v2/wp_pattern_category/${category.id}?force=true`,
25
- })));
26
- }
27
- //# sourceMappingURL=patterns.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/request-utils/patterns.ts"],"names":[],"mappings":";;;AAKA;;;;;GAKG;AACI,KAAK;IACX,+BAA+B;IAC/B,iFAAiF;IACjF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAE;QACnC,IAAI,EAAE,4BAA4B;QAClC,MAAM,EAAE;YACP,QAAQ,EAAE,GAAG;SACb;KACD,CAAE,CAAC;IAEJ,6BAA6B;IAC7B,mFAAmF;IACnF,0DAA0D;IAC1D,MAAM,IAAI,CAAC,SAAS,CACnB,UAAU,CAAC,GAAG,CAAE,CAAE,QAAwB,EAAG,EAAE,CAAC,CAAE;QACjD,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,8BAA+B,QAAQ,CAAC,EAAG,aAAa;KAC9D,CAAE,CAAE,CACL,CAAC;AACH,CAAC"}
@@ -1,85 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPluginsMap = getPluginsMap;
4
- exports.activatePlugin = activatePlugin;
5
- exports.deactivatePlugin = deactivatePlugin;
6
- /**
7
- * External dependencies
8
- */
9
- const change_case_1 = require("change-case");
10
- /**
11
- * Fetch the plugins from API and cache them in memory,
12
- * since they are unlikely to change during testing.
13
- *
14
- * @param this
15
- * @param forceRefetch Force refetch the installed plugins to update the cache.
16
- */
17
- async function getPluginsMap(forceRefetch = false) {
18
- if (!forceRefetch && this.pluginsMap) {
19
- return this.pluginsMap;
20
- }
21
- const plugins = await this.rest({
22
- path: '/wp/v2/plugins',
23
- });
24
- this.pluginsMap = {};
25
- for (const plugin of plugins) {
26
- // Ideally, we should be using sanitize_title() in PHP rather than kebabCase(),
27
- // but we don't have the exact port of it in JS.
28
- // This is a good approximation though.
29
- const slug = (0, change_case_1.paramCase)(plugin.name.toLowerCase());
30
- this.pluginsMap[slug] = plugin.plugin;
31
- }
32
- return this.pluginsMap;
33
- }
34
- /**
35
- * Finds a plugin in the plugin map.
36
- *
37
- * Attempts to provide a helpful error message if not found.
38
- *
39
- * @param slug Plugin slug.
40
- * @param pluginsMap Plugins map.
41
- */
42
- function getPluginFromMap(slug, pluginsMap) {
43
- const plugin = pluginsMap[slug];
44
- if (!plugin) {
45
- for (const key of Object.keys(pluginsMap)) {
46
- if (key.toLowerCase().replace(/-/g, '') ===
47
- slug.toLowerCase().replace(/-/g, '')) {
48
- throw new Error(`The plugin "${slug}" isn't installed. Did you perhaps mean "${key}"?`);
49
- }
50
- }
51
- throw new Error(`The plugin "${slug}" isn't installed`);
52
- }
53
- return plugin;
54
- }
55
- /**
56
- * Activates an installed plugin.
57
- *
58
- * @param this RequestUtils.
59
- * @param slug Plugin slug.
60
- */
61
- async function activatePlugin(slug) {
62
- const pluginsMap = await this.getPluginsMap();
63
- const plugin = getPluginFromMap(slug, pluginsMap);
64
- await this.rest({
65
- method: 'PUT',
66
- path: `/wp/v2/plugins/${plugin}`,
67
- data: { status: 'active' },
68
- });
69
- }
70
- /**
71
- * Deactivates an active plugin.
72
- *
73
- * @param this RequestUtils.
74
- * @param slug Plugin slug.
75
- */
76
- async function deactivatePlugin(slug) {
77
- const pluginsMap = await this.getPluginsMap();
78
- const plugin = getPluginFromMap(slug, pluginsMap);
79
- await this.rest({
80
- method: 'PUT',
81
- path: `/wp/v2/plugins/${plugin}`,
82
- data: { status: 'inactive' },
83
- });
84
- }
85
- //# sourceMappingURL=plugins.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/request-utils/plugins.ts"],"names":[],"mappings":";;QAsGS,aAAa;QAAE,cAAc;QAAE,gBAAgB;AAtGxD;;GAEG;AACH,6CAAqD;AAOrD;;;;;;GAMG;AACH,KAAK,UAAU,aAAa,CAAsB,YAAY,GAAG,KAAK;IACrE,IAAK,CAAE,YAAY,IAAI,IAAI,CAAC,UAAU,EAAG,CAAC;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAE;QAChC,IAAI,EAAE,gBAAgB;KACtB,CAAE,CAAC;IACJ,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACrB,KAAM,MAAM,MAAM,IAAI,OAAO,EAAG,CAAC;QAChC,+EAA+E;QAC/E,gDAAgD;QAChD,uCAAuC;QACvC,MAAM,IAAI,GAAG,IAAA,uBAAS,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAE,CAAC;QACpD,IAAI,CAAC,UAAU,CAAE,IAAI,CAAE,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC,UAAU,CAAC;AACxB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gBAAgB,CACxB,IAAY,EACZ,UAAoC;IAEpC,MAAM,MAAM,GAAG,UAAU,CAAE,IAAI,CAAE,CAAC;IAElC,IAAK,CAAE,MAAM,EAAG,CAAC;QAChB,KAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAE,UAAU,CAAE,EAAG,CAAC;YAC/C,IACC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAE,IAAI,EAAE,EAAE,CAAE;gBACrC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAE,IAAI,EAAE,EAAE,CAAE,EACrC,CAAC;gBACF,MAAM,IAAI,KAAK,CACd,eAAgB,IAAK,4CAA6C,GAAI,IAAI,CAC1E,CAAC;YACH,CAAC;QACF,CAAC;QAED,MAAM,IAAI,KAAK,CAAE,eAAgB,IAAK,mBAAmB,CAAE,CAAC;IAC7D,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,cAAc,CAAsB,IAAY;IAC9D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAG,gBAAgB,CAAE,IAAI,EAAE,UAAU,CAAE,CAAC;IAEpD,MAAM,IAAI,CAAC,IAAI,CAAE;QAChB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,kBAAmB,MAAO,EAAE;QAClC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;KAC1B,CAAE,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,gBAAgB,CAAsB,IAAY;IAChE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAG,gBAAgB,CAAE,IAAI,EAAE,UAAU,CAAE,CAAC;IAEpD,MAAM,IAAI,CAAC,IAAI,CAAE;QAChB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,kBAAmB,MAAO,EAAE;QAClC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;KAC5B,CAAE,CAAC;AACL,CAAC"}
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deleteAllPosts = deleteAllPosts;
4
- exports.createPost = createPost;
5
- /**
6
- * Delete all posts using REST API.
7
- *
8
- * @param this
9
- * @param postType The type of post to delete. Defaults to 'posts'.
10
- */
11
- async function deleteAllPosts(postType = 'posts') {
12
- // List all posts.
13
- // https://developer.wordpress.org/rest-api/reference/posts/#list-posts
14
- const posts = await this.rest({
15
- path: `/wp/v2/${postType}`,
16
- params: {
17
- per_page: 100,
18
- // All possible statuses.
19
- status: 'publish,future,draft,pending,private,trash',
20
- },
21
- });
22
- // Delete all posts one by one.
23
- // https://developer.wordpress.org/rest-api/reference/posts/#delete-a-post
24
- // "/wp/v2/posts" not yet supports batch requests.
25
- await Promise.all(posts.map((post) => this.rest({
26
- method: 'DELETE',
27
- path: `/wp/v2/${postType}/${post.id}`,
28
- params: {
29
- force: true,
30
- },
31
- })));
32
- }
33
- /**
34
- * Creates a new post using the REST API.
35
- *
36
- * @param this
37
- * @param payload Post attributes.
38
- */
39
- async function createPost(payload) {
40
- return this.createRecord('posts', { ...payload });
41
- }
42
- //# sourceMappingURL=posts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"posts.js","sourceRoot":"","sources":["../../src/request-utils/posts.ts"],"names":[],"mappings":";;;;AAoBA;;;;;GAKG;AACI,KAAK,yBAEX,QAAQ,GAAW,OAAO;IAE1B,kBAAkB;IAClB,uEAAuE;IACvE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAY;QACxC,IAAI,EAAE,UAAW,QAAS,EAAE;QAC5B,MAAM,EAAE;YACP,QAAQ,EAAE,GAAG;YACb,yBAAyB;YACzB,MAAM,EAAE,4CAA4C;SACpD;KACD,CAAE,CAAC;IAEJ,+BAA+B;IAC/B,0EAA0E;IAC1E,kDAAkD;IAClD,MAAM,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CAAE,CAAE,IAAI,EAAG,EAAE,CACrB,IAAI,CAAC,IAAI,CAAE;QACV,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,UAAW,QAAS,IAAK,IAAI,CAAC,EAAG,EAAE;QACzC,MAAM,EAAE;YACP,KAAK,EAAE,IAAI;SACX;KACD,CAAE,CACH,CACD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACI,KAAK,qBAEX,OAA0B;IAE1B,OAAO,IAAI,CAAC,YAAY,CAAU,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,CAAE,CAAC;AAC7D,CAAC"}
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resetPreferences = resetPreferences;
4
- exports.setPreferences = setPreferences;
5
- /**
6
- * Reset user preferences
7
- *
8
- * @param this Request utils.
9
- */
10
- async function resetPreferences() {
11
- await this.rest({
12
- path: '/wp/v2/users/me',
13
- method: 'PUT',
14
- data: {
15
- meta: {
16
- persisted_preferences: {},
17
- },
18
- },
19
- });
20
- }
21
- /**
22
- * Set scoped user preferences via the REST API.
23
- *
24
- * Reads the current persisted preferences, merges the new values under the
25
- * given scope, and writes them back.
26
- *
27
- * @param this Request utils.
28
- * @param scope The preference scope (e.g. 'core/edit-post').
29
- * @param preferences Key/value map of preference names to values.
30
- */
31
- async function setPreferences(scope, preferences) {
32
- const user = await this.rest({
33
- path: '/wp/v2/users/me',
34
- method: 'GET',
35
- params: { context: 'edit' },
36
- });
37
- const currentPreferences = user.meta?.persisted_preferences ?? {};
38
- await this.rest({
39
- path: '/wp/v2/users/me',
40
- method: 'PUT',
41
- data: {
42
- meta: {
43
- persisted_preferences: {
44
- ...currentPreferences,
45
- [scope]: {
46
- ...(currentPreferences[scope] ?? {}),
47
- ...preferences,
48
- },
49
- },
50
- },
51
- },
52
- });
53
- }
54
- //# sourceMappingURL=preferences.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../src/request-utils/preferences.ts"],"names":[],"mappings":";;;;AAKA;;;;GAIG;AACI,KAAK;IACX,MAAM,IAAI,CAAC,IAAI,CAAE;QAChB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE;YACL,IAAI,EAAE;gBACL,qBAAqB,EAAE,EAAE;aACzB;SACD;KACD,CAAE,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,yBAEX,KAAa,EACb,WAAkC;IAElC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAEvB;QACJ,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;KAC3B,CAAE,CAAC;IAEJ,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,EAAE,qBAAqB,IAAI,EAAE,CAAC;IAElE,MAAM,IAAI,CAAC,IAAI,CAAE;QAChB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE;YACL,IAAI,EAAE;gBACL,qBAAqB,EAAE;oBACtB,GAAG,kBAAkB;oBACrB,CAAE,KAAK,CAAE,EAAE;wBACV,GAAG,CAAE,kBAAkB,CAAE,KAAK,CAAE,IAAI,EAAE,CAAE;wBACxC,GAAG,WAAW;qBACd;iBACD;aACD;SACD;KACD,CAAE,CAAC;AACL,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/request-utils/records.ts"],"names":[],"mappings":";;;AAKA;;;;;;;;;;;GAWG;AACI,KAAK,uBAEX,QAAgB,EAChB,OAAkC;IAElC,OAAO,IAAI,CAAC,IAAI,CAAO;QACtB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,UAAW,QAAS,EAAE;QAC5B,IAAI,EAAE,OAAO;KACb,CAAE,CAAC;AACL,CAAC"}