GET /reference/sources n'était intercepté par aucun scénario Cypress menant à la création/jonction d'un foyer — la requête réelle restait en attente indéfiniment, laissant OnboardingSourcesPage bloqué sur /onboarding/sources au lieu de s'auto-sauter vers /onboarding/allergenes. - Ajout du Given "the sources reference list is empty" (même pattern que les intercepts diets/allergies existants), câblé dans les deux scénarios qui créent/rejoignent un foyer. - Mise à jour de l'assertion "Étape 3 sur 3" → "Étape 4 sur 4" : un foyer étant créé dans ce scénario, l'étape allergènes affiche désormais le total dynamique (4 étapes) comme prévu. - OnboardingSourcesPage.tsx : redirige aussi vers /onboarding/allergenes en cas d'échec réseau sur getSources(), pas seulement quand la liste est vide — le wizard ne doit pas bloquer l'utilisateur sur une étape optionnelle à cause d'un problème transitoire. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
69 lines
3.2 KiB
Gherkin
69 lines
3.2 KiB
Gherkin
Feature: Onboarding wizard
|
|
As a newly signed-up user
|
|
I want to set my diet, household, and allergens
|
|
So that my profile is ready before I start planning meals
|
|
|
|
Background:
|
|
Given the planning request returns nothing
|
|
|
|
Scenario: Walks through the wizard, creating a household on the way (which surfaces the sources step), and lands on the home page
|
|
Given the diets reference list has options
|
|
And selecting the diet will succeed
|
|
And the household request returns no household
|
|
And creating a household will succeed
|
|
And the sources reference list is empty
|
|
And the allergies reference list has options
|
|
And updating allergies will succeed
|
|
And I have signed up
|
|
Then the URL should include "/onboarding/regime"
|
|
And I should see "Étape 1 sur 3"
|
|
When I select "Végétarien" from the "diet" field
|
|
And I click the button "Continuer"
|
|
Then the diet update request should have been made with diet id 2
|
|
And the URL should include "/onboarding/foyer"
|
|
And I should see "Étape 2 sur 3"
|
|
When I fill in the "houseName" field with "Chez Alice"
|
|
And I click the button "Créer"
|
|
Then the household creation request should have been made with name "Chez Alice"
|
|
And the URL should include "/onboarding/allergenes"
|
|
And I should see "Étape 4 sur 4"
|
|
And I should see the section "Allergies"
|
|
And I should see the section "Intolérances"
|
|
When I check the checkbox "Arachides"
|
|
And I click the button "Terminer"
|
|
Then the allergies update request should have been made with allergy id 1
|
|
And the URL should be the home page
|
|
And I should see the heading "Planning de la semaine"
|
|
|
|
Scenario: Lets the regime and allergens steps be skipped without changing anything
|
|
Given the diets reference list is empty
|
|
And selecting the diet will succeed
|
|
And the household request returns no household
|
|
And the allergies reference list is empty
|
|
And updating allergies will succeed
|
|
And I have signed up
|
|
Then the URL should include "/onboarding/regime"
|
|
When I click the button "Continuer"
|
|
Then the diet update request should have been made with no diet id
|
|
And the URL should include "/onboarding/foyer"
|
|
When I click the button "Passer cette étape"
|
|
Then the URL should include "/onboarding/allergenes"
|
|
When I click the button "Terminer"
|
|
Then the allergies update request should have been made with no allergy ids
|
|
And the URL should be the home page
|
|
|
|
Scenario: Lets the household step be completed by joining an existing household instead of creating one
|
|
Given the diets reference list is empty
|
|
And selecting the diet will succeed
|
|
And the household request returns no household
|
|
And joining a household will succeed
|
|
And the sources reference list is empty
|
|
And the allergies reference list is empty
|
|
And updating allergies will succeed
|
|
And I have signed up
|
|
When I click the button "Continuer"
|
|
Then the URL should include "/onboarding/foyer"
|
|
When I fill in the "inviteCode" field with "abcd2345"
|
|
And I click the button "Rejoindre"
|
|
Then the household join request should have been made with invite code "ABCD2345"
|
|
And the URL should include "/onboarding/allergenes"
|