Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions BDD/answer_form.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Feature: Answer form
As a Class Participant
I want to answer the questionnaire about the class I am enrolled in
In order to submit my class evaluation

Scenario: Happy Path - Successfully submit response
Given that I am on the "Form Screen"
And I must be able to view all questions
And I must be able to answer all available questions
When clicking "Submit response"
Then I am presented with a message that the response was successfully submitted.

Scenario: Sad Path - Session expired
Given that I am on the "Form Screen"
And I must be able to view all questions
And I must be able to answer all available questions
When clicking "Submit response"
Then I am presented with a message that the session has ended and login is required again.
25 changes: 25 additions & 0 deletions BDD/create_evaluation_form.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
Feature: Create evaluation form
As an Administrator
I want to create a form based on a template for the classes I choose
In order to evaluate class performance in the current semester

Scenario: Happy Path - Successfully create form
Given that I am on the admin screen
Then I should see a sidebar menu with a management option
When I click the management button
Then I should be redirected to a screen with a create form button
When I click the create form button
Then I should be presented with a modal where I must choose the corresponding classes for the form and the template to be used at the end of the modal, there should be a create button
When I click the create button
Then the new form should appear alongside the others

Scenario: Sad Path - Missing required selections
Given that I am on the admin screen
Then I should see a sidebar menu with a management option
When I click the management button
Then I should be redirected to a screen with a create form button
When I click the create form button
Then I should be presented with a modal where I must choose the corresponding classes for the form and the template to be used
When I try to click the create button without selecting a template
Then I should see an error message "Please select a template"
And the form should not be created
26 changes: 26 additions & 0 deletions BDD/create_form_template.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Feature: Create form template
As an administrator
I want to create a form template containing the form questions
In order to generate evaluation forms to assess class performance

Scenario: Happy Path - Successfully create template
Given that I am on the admin screen
Then I should see a sidebar menu with the management option
When I click the management button
Then I should be redirected to a screen with an edit templates button
When I click the edit templates button
Then I should be redirected to a screen with all templates and a create new template button
Then a modal should appear with new template customization options
When I fill all customization options at the end of the modal, there should be a creation button
Then as I press the creation button, the new template should be ready for use and appear alongside all others.

Scenario: Sad Path - Missing required field
Given that I am on the admin screen
Then I should see a sidebar menu with the management option
When I click the management button
Then I should be redirected to a screen with an edit templates button
When I click the edit templates button
Then I should be redirected to a screen with all templates and a create new template button
Then a modal should appear with new template customization options
When I fill everything except the template name and click the creation button
Then I should be presented with a message "the name is a required field" for template creation.
37 changes: 37 additions & 0 deletions BDD/edit_delete_templates.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
Feature: Edit and delete templates without affecting existing forms
As an Administrator
I want to edit and/or delete a template I created without affecting already created forms
In order to organize existing templates

Scenario: Happy Path - Successfully edit template
Given that I am on the "Administrator" screen
And I view the list of registered templates
When I click the "Edit" button of a specific template
Then I must be directed to the template editing screen
And I must see the existing fields filled with current information
When I modify the desired fields
And confirm the editing by clicking "Save changes"
Then the changes must be applied only to the template
And forms created previously must not be modified
And I must see a message indicating the template was successfully updated

Scenario: Happy Path - Successfully delete template
Given that I am on the "Administrator" screen
And I view the list of registered templates
When I click the "Delete" button of a template
Then I must see a confirmation box asking "Are you sure you want to delete?"
And I must see a "Yes" button
And I must see a "No" button
When I click "Yes"
Then the selected template must be removed from the list
And no form created previously using this template must be altered or removed
And I must see a message indicating the template was successfully deleted

Scenario: Sad Path - Administrator cancels template deletion attempt
Given that I am on the "Administrator" screen
And I view the list of registered templates
When I click the "Delete" button of a template
Then I must see the confirmation box for deletion
When I click the "No" button
Then I must return to the administrator screen
And the template must remain in the list
22 changes: 22 additions & 0 deletions BDD/generate_admin_report.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Feature: Generate admin report
As an Administrator
I want to download a CSV file containing form results
In order to evaluate class performance

Scenario: Happy Path - Successfully generate report
Given that I am on the admin screen
Then I should see a sidebar menu with a management option
When I click the management button
Then I should be redirected to a screen with all created forms available
And I should see a menu with the option to generate report for each form
When clicking the generate report button
Then the download of a CSV file containing the form results and graphs should start.

Scenario: Sad Path - No responses to generate report
Given that I am on the admin screen
Then I should see a sidebar menu with a management option
When I click the management button
Then I should be redirected to a screen with all created forms available
And I should see a menu with the option to generate report for each form
When clicking the generate report button
Then I am presented with a message that it is not possible to generate a report because there are no submitted responses.
25 changes: 25 additions & 0 deletions BDD/import_sigaa_data.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
Feature: Import data from SIGAA
As an Administrator
I want to import data from SIGAA regarding classes, subjects, and participants
In order to populate the system's database

Scenario: Happy Path - Successfully import classes
Given that I am on the admin screen
Then I should see a field "Insert Course Code"
When I insert the "Code"
And I click on "Search"
Then I should see the "Classes" for the course
And I should see an "Add" button for each one
When I click the "Add" button
Then the "Classes" are added to the "database"

Scenario: Sad Path - Attempt to add existing class
Given that I am on the admin screen
Then I should see a field "Insert Course Code"
When I insert the "Code"
And I click on "Search"
Then I should see the "Classes" for the course
And I should see an "Add" button for each one
When I click the button
And it is an "Existing Class"
Then I see a warning "The class is already in the database"
24 changes: 24 additions & 0 deletions BDD/login_system.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
Feature: Login system
As a system user
I want to access the system using a registered email or registration number and password
In order to answer forms or manage the system

Scenario: Happy Path - Student login
Given that I am on the login screen as an student
Then I am presented with 2 input fields, one for email/registration and another for password
When filling with valid and matching email/registration and password
When clicking the login button
Then I should be redirected to the Evaluations screen, with a sidebar and available evaluations

Scenario: Happy Path - Admin login
Given that I am on the login screen as a admin
Then I am presented with 2 input fields, one for email/registration and another for password
When filling with valid and matching email/registration and password
When clicking the login button
Then I should be redirected to the Evaluations screen, with a sidebar showing the evaluations and management sections.

Scenario: Sad Path - Invalid credentials
Given that I am on the login screen
Then I am presented with 2 input fields, one for email/registration and another for password
When filling with valid email/registration but incompatible password
Then I am presented with a message that user or password is incorrect
39 changes: 39 additions & 0 deletions BDD/password_reset_email.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
Feature: Password reset from email link
As a User
I want to reset my password using a secure email link
In order to regain access to my account when I forget my password

Scenario: Happy Path - Successfully reset password
Given that I requested password reset on the login screen
And I received an email containing the link to reset my password
And the link is still valid and has not expired
When I access the link
And I enter a valid new password
And I confirm the new password correctly
And I click the confirm button
Then the system must save the new password
And must change my user status to "active" if it is pending
And must redirect me to the login page
And must display a message informing that the password was successfully reset.

Scenario: Sad Path - Expired link
Given that I received an email containing the password reset link
When I try to access the link after the validity period
Then the system must block the reset
And must display a message informing that the link has expired
And must offer the option to request a new reset link

Scenario: Sad Path - Invalid password or outside standards
Given that I am on the password reset page
When I enter a password that doesn't meet minimum requirements
And click confirm
Then the system must prevent the reset
And must display a message explaining the allowed password criteria.

Scenario: Sad Path - Password confirmation mismatch
Given that I am on the password reset page
When I enter the new password
And I enter a different password confirmation
And click confirm
Then the system must prevent saving the new password
And must display a message indicating that the passwords do not match.
39 changes: 39 additions & 0 deletions BDD/pasword_setup_system.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
Feature: Password setup system
As a User
I want to set a password for my user from the registration request email
In order to access the system

Background:
Given that the user "fulano.novo@email.com" was imported and has "pending" status
And a valid password setup link was sent to "fulano.novo@email.com"

Scenario: Happy Path - Successfully set password
Given that the user accesses the password setup link sent by email
And the link is valid and within the deadline
When the user enters a new password that meets the requirements
And confirms the same password correctly
And confirms the password creation
Then the password must be successfully registered
And the user status must be updated to "active"
And the user must be directed to the login page

Scenario: Sad Path - Expired link
Given that the user accesses the password setup link received by email
And the link is expired
When the user tries to set a new password
Then the system must display a message informing that the link has expired
And must guide the user to request a new link

Scenario: Sad Path - Invalid password requirements
Given that the user accesses the password setup link sent by email
And the link is still valid
When the user enters a password that doesn't meet security rules
Then the system must display a message explaining the mandatory password criteria
And the password must not be saved

Scenario: Sad Path - User already active
Given that the user accesses the password setup link received previously
And the user's current status is "active"
When the user tries to create the initial password
Then the system must prevent the action
And must suggest the user use the "forgot my password" flow
28 changes: 28 additions & 0 deletions BDD/register_system_user.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
Feature: Register system user
As an Administrator
I want to register SIGAA class participants by importing new user data into the system
So they can access the CAMAAR system

Scenario: Happy Path - New users are registered
Given that I am logged in as Administrator in the panel
And I access the import SIGAA data functionality for a class
When I perform the data import
Then the system must identify users (teachers and students) that do not exist in the CAMAAR database
And must create a new record for each non-existent user, with "pending" status
And must save their basic data, including email, registration number, and name
And must automatically send an email requesting the user to set their initial password
And must display a message confirming that new users were successfully imported and registered.

Scenario: Sad Path - Already registered users
Given that I perform the SIGAA data import for a class
When the system finds a user whose email is already registered in CAMAAR
Then the system must not create a new record
And must not send a new password setup email
And must simply ignore this user, maintaining the existing data
And must display a warning that "X users were already registered and thus ignored".

Scenario: Sad Path - SIGAA data import failure
Given that I try to import SIGAA data for a class
When a communication failure with SIGAA occurs or the data returns invalid
Then the system must display an error message stating that the import could not be completed
And no user should be created, updated, or modified.
32 changes: 32 additions & 0 deletions BDD/synchronize_database_sigaa.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
Feature: Synchronize database with SIGAA
As an Administrator
I want to update the existing database with current SIGAA data
In order to correct the system database

Scenario: Happy Path - Successfully synchronize database
Given that I am logged in as Administrator
And I access the "Update SIGAA Database" functionality
And the system can communicate correctly with SIGAA
When I start the update
Then the system must identify all SIGAA users that already exist in the internal database
And must update only allowed data (name, registration number, affiliation)
And must log which users were updated and which fields were modified
And must display a message informing that the update was successfully completed.

Scenario: Sad Path - Inconsistent SIGAA data
Given that I am logged in as Administrator
And I access the database update functionality
When the system receives invalid, incomplete, or inconsistent data from SIGAA
Then the update must be canceled
And no modification must be saved
And an error message must be displayed informing that SIGAA data is invalid
And the system must suggest trying again later.

Scenario: Sad Path - Communication failure with SIGAA
Given that I am logged in as Administrator
And I access the database update functionality
When a communication failure with SIGAA occurs
Then the system must interrupt the operation
And no changes must be made
And an error message must be displayed informing that communication with SIGAA was not possible
And the system must guide the Administrator to check the connection or try again.
25 changes: 25 additions & 0 deletions BDD/view_created_templates.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
Feature: View created templates
As an Administrator
I want to view the created templates
In order to edit and/or delete a template I created

Scenario: Happy Path - Edit template
Given that I am on the "Administrator" screen
Then I should see all "Templates"
And I should see an "Edit" button for each "Template"
And I should see another button for "Delete"
When I click the "Edit" button
Then I should see the template screen with fields for modification

Scenario: Sad Path - Cancel template deletion
Given that I am on the "Administrator" screen
Then I should see all "Templates"
And I should see an "Edit" button for each "Template"
And I should see another button for "Delete"
When I click the "Delete" button
Then I should see a box with the text "Are you sure you want to delete?"
And I should see a button labeled "Yes"
And I should see another button labeled "No"
When I click the "No" button
Then I return to the Administrator Screen
And the template is still there
22 changes: 22 additions & 0 deletions BDD/view_form_results.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Feature: View form results
As an Administrator
I want to view the created forms
In order to generate a report from the responses

Scenario: Happy Path - View form responses
Given that I am on the admin screen
Then I should see a sidebar menu with a management option
When I click the management button
Then I should be redirected to a screen with all created forms available
And I should see a menu with the option to view responses for each form
When clicking the view responses button
Then I should be directed to a page containing all user responses for viewing.

Scenario: Sad Path - No responses available
Given that I am on the admin screen
Then I should see a sidebar menu with a management option
When I click the management button
Then I should be redirected to a screen with all created forms available
And I should see a menu with the option to view responses for each form
When clicking the view responses button
Then I am presented with a message that there are no submitted responses.
Loading