@wordpress/e2e-test-utils
Version:
End-To-End (E2E) test utils for WordPress.
64 lines (59 loc) • 1.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.activatePlugin = activatePlugin;
exports.deactivatePlugin = deactivatePlugin;
var _changeCase = require("change-case");
var _restApi = require("./rest-api");
/**
* External dependencies
*/
/**
* Internal dependencies
*/
const pluginsMapPromise = async function getPluginsMap() {
const plugins = await (0, _restApi.rest)({
path: '/wp/v2/plugins'
});
const map = {};
for (const plugin of plugins) {
// Ideally, we should be using sanitize_title() in PHP rather than kebabCase(),
// but we don't have the exact port of it in JS.
map[(0, _changeCase.paramCase)(plugin.name)] = plugin.plugin;
}
return map;
}();
/**
* Activates an installed plugin.
*
* @param {string} slug Plugin slug.
*/
async function activatePlugin(slug) {
const pluginsMap = await pluginsMapPromise;
const plugin = pluginsMap[slug];
await (0, _restApi.rest)({
method: 'PUT',
path: `/wp/v2/plugins/${plugin}`,
data: {
status: 'active'
}
});
}
/**
* Deactivates an active plugin.
*
* @param {string} slug Plugin slug.
*/
async function deactivatePlugin(slug) {
const pluginsMap = await pluginsMapPromise;
const plugin = pluginsMap[slug];
await (0, _restApi.rest)({
method: 'PUT',
path: `/wp/v2/plugins/${plugin}`,
data: {
status: 'inactive'
}
});
}
//# sourceMappingURL=plugins.js.map