feat: entité Website liée à Customer avec UUID, type et state machine

Entity Website :
- customer (ManyToOne, CASCADE) : client propriétaire
- name : nom du site
- uuid : UUID v4 auto-généré (unique, 36 chars)
- type : vitrine | ecommerce
- state : created → install_progress → open → suspended → closed
- createdAt / updatedAt (auto sur setState)
- isOpen() : vérifie si state === open

WebsiteTest (5 tests, 20 assertions) :
- testConstructor : valeurs par défaut, uuid 36 chars, type vitrine
- testConstructorEcommerce : type ecommerce
- testSetters : name, type, updatedAt
- testState : transitions created→install_progress→open→suspended→closed
- testUuidUnique : 2 sites ont des uuid différents

Dépendance : symfony/uid ajouté pour Uuid::v4()
Migration : CREATE TABLE website avec FK customer, uuid unique

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-04-04 21:06:41 +02:00
parent 7648946c2b
commit 98db87eb05
5 changed files with 414 additions and 1 deletions

View File

@@ -56,6 +56,7 @@
"symfony/string": "8.0.*",
"symfony/translation": "8.0.*",
"symfony/twig-bundle": "8.0.*",
"symfony/uid": "8.0.*",
"symfony/validator": "8.0.*",
"symfony/web-link": "8.0.*",
"symfony/yaml": "8.0.*",