This package provides shared E2E testing utilities for Polylang projects.
npm install --save-dev polylang/e2e-test-utils
Create a playwright.config.js
file in your project's root:
import { getPlaywrightConfig } from '@wpsyntex/e2e-test-utils';
export default getPlaywrightConfig( {
// Override any default configuration here
use: {
// Custom use options
globalSetup: require.resolve( 'path-to-your/global.setup.js' ), // Falls back to the packaged one.
},
webServer: {
// Custom webServer options
}
} );
The getPlaywrightConfig
function accepts an options object that can override any of the default configuration:
use
: Override default Playwright use optionswebServer
: Override default webServer configuration- Any other Playwright configuration options
The default configuration includes:
- Chrome browser setup
- HTML reporter
- CI-specific settings
- Default storage state path
- Local development server configuration
Retrieves a list of all configured languages in Polylang.
- Parameters:
requestUtils
: Gutenberg request utils object
- Returns: Promise resolving to the list of languages
Retrieves a specific language by its slug.
- Parameters:
requestUtils
: Gutenberg request utils objectslug
: Language slug to retrieve
- Returns: Promise resolving to the language data
Creates a new language in Polylang.
- Parameters:
requestUtils
: Gutenberg request utils objectlocale
: Language locale to create (e.g., 'fr_FR')
- Returns: Promise resolving to the created language
Deletes a specific language by its slug.
- Parameters:
requestUtils
: Gutenberg request utils objectslug
: Language slug to delete
- Returns: Promise resolving to the deletion result
Deletes all configured languages except the default one.
- Parameters:
requestUtils
: Gutenberg request utils object
- Returns: Promise resolving to the deletion results
Retrieves all Polylang plugin settings.
- Parameters:
requestUtils
: Gutenberg request utils object
- Returns: Promise resolving to the settings object
Updates a specific plugin setting.
- Parameters:
requestUtils
: Gutenberg request utils objectsettingKey
: The key of the setting to updatesettingValue
: The new value for the setting
- Returns: Promise resolving to the updated setting
Resets all plugin settings to their default values.
- Parameters:
requestUtils
: Gutenberg request utils object
- Returns: Promise resolving to the reset operation result
- Note: Preserves the default language setting
Retrieves all terms for a specific taxonomy.
- Parameters:
requestUtils
: Gutenberg request utils objecttaxonomy
: Taxonomy slug
- Returns: Promise resolving to the list of terms
Retrieves a specific term by its slug within a taxonomy.
- Parameters:
requestUtils
: Gutenberg request utils objecttaxonomy
: Taxonomy slugslug
: Term slug to retrieve
- Returns: Promise resolving to the term data
Deletes all terms within a specific taxonomy.
- Parameters:
requestUtils
: Gutenberg request utils objecttaxonomy
: Taxonomy slug
- Returns: Promise resolving to the deletion results
Global setup function for Playwright tests. Ensures fixtures are deleted and global context is set up properly.
import {
createLanguage,
setSetting,
getAllTerms
} from '@wpsyntex/e2e-test-utils';
// Create a new language
await createLanguage( requestUtils, 'fr_FR' );
// Update a setting
await setSetting( requestUtils, 'hide_default', true );
// Get all terms from a taxonomy
const terms = await getAllTerms( requestUtils, 'category' );
All these functions are designed to work with the Gutenberg request utils object and follow REST API patterns for interacting with Polylang's functionality. They provide a comprehensive set of tools for managing languages, settings, and taxonomies in E2E tests.