mirror of
git://develop.git.wordpress.org/
synced 2025-02-24 00:24:52 +01:00
As per the migration plan shared last year, this migrates all browser-based tests in WordPress core to use Playwright. This includes end-to-end, performance, and visual regression tests. Props swissspidy, mamaduka, kevin940726, bartkalisz, desrosj, adamsilverstein. Fixes #59517. git-svn-id: https://develop.svn.wordpress.org/trunk@56926 602fd350-edb4-49c9-b593-d223f7449a82
49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
/**
|
|
* WordPress dependencies
|
|
*/
|
|
import { test, expect } from '@wordpress/e2e-test-utils-playwright';
|
|
|
|
test.describe( 'Gutenberg plugin', () => {
|
|
// Increasing timeout to 5 minutes because potential plugin install could take longer.
|
|
test.setTimeout( 300_000 );
|
|
|
|
test.beforeAll( async ( { requestUtils } ) => {
|
|
// Install Gutenberg plugin if it's not yet installed.
|
|
const pluginsMap = await requestUtils.getPluginsMap();
|
|
if ( ! pluginsMap.gutenberg ) {
|
|
await requestUtils.rest( {
|
|
method: 'POST',
|
|
path: 'wp/v2/plugins?slug=gutenberg',
|
|
} );
|
|
}
|
|
|
|
// Refetch installed plugin details. It avoids stale values when the test installs the plugin.
|
|
await requestUtils.getPluginsMap( /* forceRefetch */ true );
|
|
await requestUtils.deactivatePlugin( 'gutenberg' );
|
|
} );
|
|
|
|
test( 'should activate', async ( { requestUtils }) => {
|
|
let plugin = await requestUtils.rest( {
|
|
path: 'wp/v2/plugins/gutenberg/gutenberg',
|
|
} );
|
|
|
|
expect( plugin.status ).toBe( 'inactive' );
|
|
|
|
await requestUtils.activatePlugin( 'gutenberg' );
|
|
|
|
plugin = await requestUtils.rest( {
|
|
path: 'wp/v2/plugins/gutenberg/gutenberg',
|
|
} );
|
|
|
|
expect( plugin.status ).toBe( 'active' );
|
|
|
|
await requestUtils.deactivatePlugin( 'gutenberg' );
|
|
|
|
plugin = await requestUtils.rest( {
|
|
path: 'wp/v2/plugins/gutenberg/gutenberg',
|
|
} );
|
|
|
|
expect( plugin.status ).toBe( 'inactive' );
|
|
} );
|
|
} );
|