Files
wp-plugin-starter-template-…/cypress/e2e/playground-single-site.cy.js
Marcus Quinn 52632ec322 fix(tests): add plugin activation verification by slug in Cypress test (#50)
Addresses CodeRabbit review feedback on PR #15 (issue #32): the 'Plugin is
activated' test now also checks that the starter template plugin itself
(wp-plugin-starter-template-for-ai-coding) exists and has a .deactivate link,
confirming it is active rather than just present in the plugins list.
2026-03-16 21:45:23 +00:00

52 lines
1.8 KiB
JavaScript

/* eslint-env mocha, jquery, cypress */
describe('WordPress Playground Single Site Tests', () => {
beforeEach(() => {
cy.visit('/', { timeout: 30000 });
});
it('Can access the site', () => {
cy.get('body', { timeout: 15000 }).should('exist');
});
it('Can access the admin area', () => {
cy.loginAsAdmin();
cy.get('#wpadminbar', { timeout: 15000 }).should('exist');
});
it('Plugin is activated', () => {
cy.loginAsAdmin();
cy.visit('/wp-admin/plugins.php', { timeout: 30000 });
cy.get('body', { timeout: 15000 }).then(($body) => {
// Verify the starter template plugin exists and is activated.
if ($body.find('tr[data-slug="wp-plugin-starter-template-for-ai-coding"]').length) {
cy.get('tr[data-slug="wp-plugin-starter-template-for-ai-coding"]').should('exist');
cy.get('tr[data-slug="wp-plugin-starter-template-for-ai-coding"] .deactivate a').should('exist');
} else {
cy.log('Starter template plugin not found by slug, skipping check');
}
if ($body.text().includes('Plugin Toggle')) {
cy.contains('tr', 'Plugin Toggle').should('exist');
cy.contains('tr', 'Plugin Toggle').find('.deactivate').should('exist');
} else {
cy.log('Plugin Toggle not found, skipping check');
}
if ($body.text().includes('Kadence Blocks')) {
cy.contains('tr', 'Kadence Blocks').find('.deactivate').should('exist');
} else {
cy.log('Kadence Blocks plugin not found, skipping check');
}
});
});
it('Plugin settings page loads correctly', () => {
cy.loginAsAdmin();
cy.visit('/wp-admin/options-general.php', { timeout: 30000 });
cy.get('#wpbody-content', { timeout: 15000 }).should('exist');
cy.get('h1').should('be.visible');
cy.title().should('include', 'Settings');
});
});