Skip to content

Expand Playwright e2e coverage for free gaps and premium bulk - #69

Merged
bfintal merged 1 commit into
developfrom
feat/e2e-coverage-gaps
Aug 11, 2026
Merged

Expand Playwright e2e coverage for free gaps and premium bulk#69
bfintal merged 1 commit into
developfrom
feat/e2e-coverage-gaps

Conversation

@bfintal

@bfintal bfintal commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Expand free Playwright coverage for settings, remaining upload surfaces, post-upload stats, and freemium admin chrome
  • Add premium e2e harness (build:e2e:premium / test:e2e:premium) with Freemius-seeded Playground blueprint and bulk optimizer specs
  • Ensure settings page loads cimo-script before the React admin app so premium filters register correctly

Test plan

  • npm run build:e2e && npm run test:e2e (free suite)
  • With pro__premium_only/ present: npm run build:e2e:premium && npm run test:e2e:premium
  • Confirm free-repo CI still runs free e2e only
  • Confirm premium-repo workflow (separate) runs free then premium suites

Summary by CodeRabbit

  • Bug Fixes

    • Improved admin page script loading for more reliable plugin behavior.
  • Testing

    • Added end-to-end coverage for media uploads, WebP conversion, optimization statistics, settings, freemium controls, premium settings, and bulk optimization.
    • Added validation for cancellation flows and multiple upload methods.
  • Documentation

    • Expanded guidance for free and premium test workflows, setup, CI, troubleshooting, and feature coverage.

Add settings, upload surfaces, post-upload stats, and freemium specs, plus a premium suite and harness so upload/settings regressions are caught in CI.
@cursor

cursor Bot commented Aug 11, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@bfintal
bfintal merged commit 5f01002 into develop Aug 11, 2026
2 of 3 checks passed
@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 42d77597-7198-4a13-85f2-6a0f6b3caef1

📥 Commits

Reviewing files that changed from the base of the PR and between 1659a93 and fa2eaf7.

⛔ Files ignored due to path filters (2)
  • e2e/fixtures/sample-large.jpg is excluded by !**/*.jpg
  • e2e/fixtures/sample.png is excluded by !**/*.png
📒 Files selected for processing (17)
  • .gitignore
  • AGENTS.md
  • e2e/playground-blueprint.premium.json
  • e2e/readme.md
  • e2e/test-utils/index.ts
  • e2e/test-utils/media.ts
  • e2e/test-utils/settings.ts
  • e2e/tests/freemium.spec.ts
  • e2e/tests/post-upload-stats.spec.ts
  • e2e/tests/premium/bulk-optimizer.spec.ts
  • e2e/tests/premium/settings-unlocked.spec.ts
  • e2e/tests/settings.spec.ts
  • e2e/tests/upload-surfaces.spec.ts
  • package.json
  • playwright.config.js
  • playwright.premium.config.js
  • src/admin/class-admin.php

📝 Walkthrough

Walkthrough

The PR adds shared Playwright utilities and E2E coverage for uploads, settings, statistics, freemium behavior, and premium optimization. It adds separate premium build and test configurations with a WordPress Playground blueprint.

Changes

End-to-end test coverage

Layer / File(s) Summary
Shared media and settings utilities
e2e/test-utils/*, src/admin/class-admin.php
Shared helpers support media uploads, metadata assertions, settings persistence, runtime reloads, and Cimo script loading.
Free-suite upload and admin coverage
e2e/tests/upload-surfaces.spec.ts, e2e/tests/settings.spec.ts, e2e/tests/post-upload-stats.spec.ts, e2e/tests/freemium.spec.ts, playwright.config.js
Free tests cover upload surfaces, settings, post-upload statistics, and freemium admin controls.
Premium build and Playground setup
package.json, playwright.premium.config.js, e2e/playground-blueprint.premium.json, AGENTS.md, e2e/readme.md, .gitignore
Dedicated premium commands and configuration start a Playground instance with seeded activation data and document free and premium execution.
Premium settings and bulk optimization tests
e2e/tests/premium/*
Premium tests verify unlocked settings and bulk optimization progress, completion, stopping, and remaining items.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Developer
  participant npm_scripts as npm scripts
  participant config as Playwright premium config
  participant playground as WordPress Playground
  participant tests as Premium E2E tests
  Developer->>npm_scripts: Run build:e2e:premium and test:e2e:premium
  npm_scripts->>config: Start premium Playwright configuration
  config->>playground: Load premium blueprint and activation data
  config->>tests: Launch premium test suite
  tests->>playground: Verify settings and bulk optimization
Loading

Possibly related PRs

  • gambitph/Cimo#34: The premium bulk-optimizer tests exercise functionality introduced by this PR.
  • gambitph/Cimo#66: The new tests cover overlapping bulk optimizer, settings, upload, and freemium behavior.
  • gambitph/Cimo#68: The PR extends the existing Playwright scaffolding and upload-testing infrastructure.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/e2e-coverage-gaps

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

🤖 Pull request artifacts

file commit
pr69-cimo-69-merge.zip fa2eaf7

github-actions Bot added a commit that referenced this pull request Aug 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant