AS A user,
I WANT TO create an account using email/password authentication,
TO store and manage my trip list items on the application
SO THAT I can access and manage my trips from the app across different devices.
SCENARIO: Successful Account Creation
GIVEN the user is on the sign-up screen of the Journey Pro app,
WHEN the user enters a valid email address and a strong password,
AND clicks the "Create Account" button,
THEN an account should be created in the Firebase authentication system,
WITHIN 3 seconds,
AND the user should be redirected to the main trip screen
WITHIN 2 seconds.
SCENARIO: Account Already Exists
GIVEN the user is on the sign-up screen of the Journey Pro app,
WHEN the user enters an email address that is already associated with an existing account,
AND clicks the "Create Account" button,
THEN the system should display an error message stating "An account with this email already exists"
WITHIN 1 second,
AND prompt the user to either log in or recover their password.
SCENARIO: Invalid Email Address Format
GIVEN the user is on the sign-up screen of the Journey Pro app,
WHEN the user enters an email address that does not follow a valid email format (e.g., "userexample.com" or "user@.com"),
AND clicks the "Create Account" button,
THEN the system should display an error message stating "Please enter a valid email address"
WITHIN 1 second,
AND prevent the account creation process from proceeding.
SCENARIO: Weak Password
GIVEN the user is on the sign-up screen of the JourneyPro app,
WHEN the user enters a password that does not meet the strength requirements (e.g., less than 8 characters, no uppercase letters, or lacks numbers/special characters),
AND clicks the "Create Account" button,
THEN the system should display an error message stating "Your password is too weak. Please choose a stronger password."
WITHIN 1 second,
AND prevent the account creation process from proceeding.
SCENARIO: Network Error During Account Creation
GIVEN the user is on the sign-up screen of the Journey Pro app,
WHEN the user enters a valid email address and password,
AND clicks the "Create Account" button,
THEN if a network error occurs, the system should display an error message stating "Network error. Please try again later."
WITHIN 2 seconds,
AND allow the user to retry the account creation process once the network is stable.
SCENARIO: Password Recovery Prompt
GIVEN the user attempts to create an account with an existing email,
WHEN the system displays the "Account already exists" error,
AND the user selects the "Forgot Password" option,
THEN the system should prompt the user to enter their email for password recovery
WITHIN 1 second,
AND send a password reset email
WITHIN 30 seconds.
AS A user, I WANT TO create an account using email/password authentication, TO store and manage my trip list items on the application SO THAT I can access and manage my trips from the app across different devices.
SCENARIO: Successful Account Creation GIVEN the user is on the sign-up screen of the Journey Pro app, WHEN the user enters a valid email address and a strong password, AND clicks the "Create Account" button, THEN an account should be created in the Firebase authentication system, WITHIN 3 seconds, AND the user should be redirected to the main trip screen WITHIN 2 seconds.
SCENARIO: Account Already Exists GIVEN the user is on the sign-up screen of the Journey Pro app, WHEN the user enters an email address that is already associated with an existing account, AND clicks the "Create Account" button, THEN the system should display an error message stating "An account with this email already exists" WITHIN 1 second, AND prompt the user to either log in or recover their password.
SCENARIO: Invalid Email Address Format GIVEN the user is on the sign-up screen of the Journey Pro app, WHEN the user enters an email address that does not follow a valid email format (e.g., "userexample.com" or "user@.com"), AND clicks the "Create Account" button, THEN the system should display an error message stating "Please enter a valid email address" WITHIN 1 second, AND prevent the account creation process from proceeding.
SCENARIO: Weak Password GIVEN the user is on the sign-up screen of the JourneyPro app, WHEN the user enters a password that does not meet the strength requirements (e.g., less than 8 characters, no uppercase letters, or lacks numbers/special characters), AND clicks the "Create Account" button, THEN the system should display an error message stating "Your password is too weak. Please choose a stronger password." WITHIN 1 second, AND prevent the account creation process from proceeding.
SCENARIO: Network Error During Account Creation GIVEN the user is on the sign-up screen of the Journey Pro app, WHEN the user enters a valid email address and password, AND clicks the "Create Account" button, THEN if a network error occurs, the system should display an error message stating "Network error. Please try again later." WITHIN 2 seconds, AND allow the user to retry the account creation process once the network is stable.
SCENARIO: Password Recovery Prompt GIVEN the user attempts to create an account with an existing email, WHEN the system displays the "Account already exists" error, AND the user selects the "Forgot Password" option, THEN the system should prompt the user to enter their email for password recovery WITHIN 1 second, AND send a password reset email WITHIN 30 seconds.