Tests: Skip Gutenberg plugin activation test on older WP versions.

The purpose of `tests/e2e/specs/gutenberg-plugin.test.js` is to ensure that running the Gutenberg plugin (stable version) on a WordPress `trunk` install doesn't produce any fatals.

The test was introduced in [54913], i.e. it has been around since WP 6.2. It makes sense to have it present on older branches, as the Gutenberg plugin not only supports `trunk`, but also the current stable version of WordPress (i.e. currently 6.5), and one version below (6.4). However, it is not expected to work on any earlier versions beyond that; in practice, it has produced errors on some of those.

This changeset checks the REST API response from the plugin activation request. If it returns an error with error code `plugin_wp_incompatible`, it skips the test.

Reviewed by jorbin.
Merges [58046] to the 6.4 branch.

Props jorbin, johnbillion, swissspidy.
Fixes #60971.

git-svn-id: https://develop.svn.wordpress.org/branches/6.4@58153 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
bernhard-reiter 2024-05-15 07:05:03 +00:00
parent 569a37976b
commit fe402e06ac

View File

@ -29,7 +29,20 @@ test.describe( 'Gutenberg plugin', () => {
expect( plugin.status ).toBe( 'inactive' );
await requestUtils.activatePlugin( 'gutenberg' );
try {
await requestUtils.activatePlugin( 'gutenberg' );
} catch ( error ) {
if (
typeof error === 'object' &&
error !== null &&
Object.prototype.hasOwnProperty.call( error, 'code' ) &&
error.code === 'plugin_wp_incompatible'
) {
test.skip();
} else {
throw error;
}
}
plugin = await requestUtils.rest( {
path: 'wp/v2/plugins/gutenberg/gutenberg',