Skip to main content

Team meeting - prepare scenarios (BDD)

The Developer and Tester teams gathered for a collaborative session focused on drafting scenarios using the Gherkin language. The goal of this meeting was to ensure a shared understanding of requirements and to create clear, testable scenarios that would guide both development and quality assurance processes.

Features

Task Creation and Basic Fields

Feature: Task Creation and Basic Fields
Scenario: Creating a new task with required fields
Given a user is logged into the system
When the user creates a new task with title "Prepare aircraft documentation" and description "Check all flight manuals"
Then a new task should be created
And the task should have status "Open"
And the system should record the current user as the author
And the creation date should be set to the current date

Task Editing Permissions

Feature: Task Editing Permissions
Scenario: Author edits task title and description
Given a task exists in the system
And the current user is the author of the task
When the user edits the title to "Updated documentation task"
And the user edits the description to "Check updated flight manuals"
Then the system should save the changes
And the modification date should be updated

Scenario: Non-author attempts to edit task title
Given a task exists in the system
And the current user is not the author of the task
When the user attempts to edit the title
Then the system should prevent the changes
And display an error message

Task Assignment

Feature: Task Assignment
Scenario: User assigns themselves to a task
Given a task exists in the system
And the current user is not assigned to the task
When the user attempts to assign themselves to the task
Then the system should update the task's assigned user
And the modification date should be updated

Scenario: User unassigns themselves from a task
Given a task exists in the system
And the current user is assigned to the task
When the user attempts to unassign themselves from the task
Then the system should remove the user from the task's assigned user
And the modification date should be updated

Task Status Management

Feature: Task Status Management
Scenario: Author marks task as done
Given a task exists in the system with status "Open"
And the current user is the author of the task
When the user changes the task status to "Done"
Then the system should update the task status to "Done"
And the modification date should be updated

Scenario: Assigned user marks task as done
Given a task exists in the system with status "Open"
And the current user is assigned to the task
When the user changes the task status to "Done"
Then the system should update the task status to "Done"
And the modification date should be updated

Scenario: Author closes the task
Given a task exists in the system
And the current user is the author of the task
When the user changes the task status to "Closed"
Then the system should update the task status to "Closed"
And the modification date should be updated

Scenario: Non-author attempts to close the task
Given a task exists in the system
And the current user is not the author of the task
When the user attempts to change the task status to "Closed"
Then the system should prevent the status change
And display an error message

Scenario: Assigned user who is not the author attempts to close the task
Given a task exists in the system
And the current user is assigned to the task but is not the author
When the user attempts to change the task status to "Closed"
Then the system should prevent the status change
And display an error message

Scenario: Author reopen the task
Given a task exists in the system
And the current user is the author of the task
And the task have status "Done"
When the user changes the task status to "Open"
Then the system should update the task status to "Open"
And the modification date should be updated

Scenario: Non-author attempts to reopen the task
Given a task exists in the system
And the current user is not the author of the task
And the task have status "Done"
When the user attempts to change the task status to "Open"
Then the system should prevent the status change
And display an error message