Skip to content

URL de la boutique et du back-office dans le fichier de suite - #123

Merged
PrestaEdit merged 2 commits into
devfrom
feat/suite-urls
Oct 7, 2026
Merged

PrestaEdit merged 2 commits into
devfrom
feat/suite-urls

Conversation

@PrestaEdit

Copy link
Copy Markdown
Contributor

Objectif

Une suite visuelle peut porter dans son fichier son URL de la boutique et son URL du back-office. Un run en CI avec la lib seule vise alors la même boutique que l'éditeur de l'app.

Changements

  • VisualTestsSuite gagne deux propriétés : protected ?string $shopUrl = null; et protected ?string $backOfficeUrl = null;.
  • applySuiteUrls() est publique et idempotente. Elle est appelée par init() et openBackOfficeCheckpoint() avant l'import des pages, et applique les propriétés par-dessus les globals reçues (app ou environnement) :
    • une valeur null, vide ou blanche laisse les globals inchangées, donc les suites existantes ne changent pas ;
    • $shopUrl remplace FO.URL, avec un « / » final ;
    • $backOfficeUrl remplace BO.URL. Une valeur relative est complétée par l'URL FO effective, avec la règle de App\Support\BackOfficeUrl::resolve exposée par resolveBackOfficeUrl() : le chemin FO est gardé, la requête et le fragment sont retirés, et //hôte prend le schéma FO ;
    • en CLI, si seul $shopUrl est déclaré, une BO d'environnement relative (ou admin-dev/ par défaut) suit la nouvelle URL FO.
  • Refus au lancement (InvalidArgumentException). Le message nomme la propriété, jamais la valeur :
    • les identifiants dans l'URL (user:pass@) : l'authentification HTTP passe par PRESTAFLOW_BASIC_* ;
    • un schéma autre que http(s), un blanc interne ou un hôte absent ;
    • un ? ou un # dans $shopUrl ;
    • une BO relative non sûre (même règle que BackOfficeUrl::isValid de l'app) ;
    • une BO relative sans URL de la boutique http(s).
  • README : section « Shop and back-office URLs in the suite file ».
  • Spec : docs/superpowers/specs/2026-10-07-suite-urls-design.md.

Tests

668 tests verts en PHP 8.4 et 8.1, dont 44 dans VisualTestsSuiteUrlsTest : parité avec les cas de BackOfficeUrlTest de l'app, refus sans valeur dans le message, CLI avec $shopUrl seul. Aucun test ne lance Chrome.

🤖 Generated with Claude Code

PrestaEdit and others added 2 commits October 7, 2026 12:39
… suite ($shopUrl, $backOfficeUrl)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ant $shopUrl, refus des blancs et des hôtes absents

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@PrestaEdit
PrestaEdit merged commit 514c443 into dev Oct 7, 2026
13 checks passed
@PrestaEdit
PrestaEdit deleted the feat/suite-urls branch October 7, 2026 15:43
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