Skip to content

feat(visual): VisualTestsSuite data-driven + masques + options navigateur - #67

Merged
PrestaEdit merged 6 commits into
devfrom
feat/visual-suite
Sep 28, 2026
Merged

PrestaEdit merged 6 commits into
devfrom
feat/visual-suite

Conversation

@PrestaEdit

Copy link
Copy Markdown
Contributor

Résumé

Socle lib pour les suites visuelles éditables depuis l'app (spec : app/docs/superpowers/specs/2026-09-28-visual-suite-editor-design.md).

  • TestsSuite::useBrowserOptions() / browserOptions() / resetBrowser() : taille de fenêtre + UA par combinaison, fermeture propre du navigateur partagé (y compris orphelin via socket). Fix des défauts WINDOW_SIZE_* inversés.
  • CommonPage::visualCheckpoint(..., array $masks = []) : masquage par sélecteur (une règle CSS par sélecteur, retrait garanti en finally), + helpers scrollBelow() et waitForStable() (best-effort, lazy images sous le pli ignorées).
  • VisualDevices (presets desktop/tablet/mobile) + VisualTestsSuite : suite pilotée par $devices / $locales / $checkpoints littéraux ; une exécution = une combinaison (globals DEVICE/LOCALE ou env PRESTAFLOW_DEVICE/PRESTAFLOW_LOCALE en CLI). Checkpoints exclus ou langue sautée → skip.

Tests

vendor/bin/phpunit → OK (357 tests, 823 assertions), +25 tests.

Limite connue

getBrowser() réutilise tout socket vivant sans comparer les options : en CLI, un navigateur laissé ouvert par un autre process à une autre taille peut être réutilisé. L'app appelle resetBrowser() avant chaque combinaison.

🤖 Generated with Claude Code

PrestaEdit and others added 6 commits September 28, 2026 15:00
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lpers

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@PrestaEdit
PrestaEdit merged commit 7698044 into dev Sep 28, 2026
9 checks passed
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