chat_application/doc/feature_001.md
2026-02-02 14:31:47 +01:00

2.6 KiB

Features

User Registration

Scenario: User registers into the application

  • Given a new user is on the registration page
  • When they provide valid details (username, email, password)
  • And they click "Register"
  • Then the username, email and password are validated by the system
  • And their account is created
  • And they receive a confirmation message

User Login

Scenario: User logs into the application

  • Given a registered user is on the login page
  • When they enter valid credentials (email/username and password)
  • And they click "Login"
  • Then the credentials are validated by the system
  • And they are granted access to the application

Role Management

Scenario: Admin creates and assigns roles

  • Given an admin is logged in
  • When they navigate to the roles management page
  • And they create a new role or edit an existing one
  • Then the role is saved
  • And they can assign or unassign it to the users

Permission Management

Scenario: Admin manages permissions for roles

  • Given an admin is logged in
  • When they navigate to the permissions management page
  • And they assign or remove permissions for a role
  • Then the permissions are updated
  • And users with that role have the correct accesses

Send a Message

Scenario: User sends a message in a conversation

  • Given a user is logged in
  • And they are in an existing conversation with other users
  • When they type a message
  • And they click "Send"
  • Then the message appears in the conversation for all participants

Read Messages

Scenario: User reads messages in a conversation

  • Given a user is logged in
  • And they have joined a conversation
  • When another user sends a message
  • Then the message appears in the conversation in real time

Create a Conversation

Scenario: User creates a conversation with one or more users

  • Given a user is logged in
  • When they click "New Conversation"
  • And they select one or more users
  • And they click "Create"
  • Then a new conversation is created
  • And the selected users are added to the conversation

Salon Creation

Scenario: User creates a new salon

  • Given a user is logged in
  • When they navigate to the "Create Salon" page
  • And they provide a salon name
  • And they click "Create"
  • Then a new salon is created
  • And the user is added as a member of the salon

Invite Users to a Salon

Scenario: User invites others to join a salon

  • Given a user is logged in
  • And they are a member of an existing salon
  • When they select other users to invite
  • And they click "Invite"
  • Then the selected users receive an invitation
  • And they can join the salon once they accept