Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BC-8492 Share & Import Room Board (Same and Different School) #290

Merged
merged 23 commits into from
Feb 11, 2025
Merged
Show file tree
Hide file tree
Changes from 21 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
60 changes: 30 additions & 30 deletions cypress/e2e/account/selfEditAccountSettings.feature
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,36 @@
@stable_test
Feature: Account - Edit E-mail in the account setting page

As a user I want to navigation to my account's settings page so that I can see and edit my account details (e. g. email).

Scenario: I see my E-mail is editable as an internal user, including pre conditions
Given I am logged in as a '<user>' at '<namespace>'

# user changes/updates the E-mail
When I go to my account settings
Then I see my email is editable
When I change my email to a new email
When I enter my current password
When I click on the button Save Account Settings
Then I see the message successful

# user can login with the changed E-mail
When I visit the login page
When I enter my updated email
When I enter my current password on the login page
When I click on the button Login
Then I see the dashboard

# @staging_test
# Please do not execute this feature against STAGING environment, because after changing the E-mail user can not revert the old E-mail again.
# The system does not allow reverting to an old or existing E-mail.

@school_api_test
Examples:
| user | namespace |
| student1_dbc | dbc |
| teacher1_dbc | dbc |
| admin1_dbc | dbc |
As a user I want to navigation to my account's settings page so that I can see and edit my account details (e. g. email).

Scenario: I see my E-mail is editable as an internal user, including pre conditions
Given I am logged in as a '<user>' at '<namespace>'

# user changes/updates the E-mail
When I go to my account settings
Then I see my email is editable
When I change my email to a new email
When I enter my current password
When I click on the button Save Account Settings
Then I see the message successful

# user can login with the changed E-mail
When I visit the login page
When I enter my updated email
When I enter my current password on the login page
When I click on the button Login
Then I see the dashboard

# @staging_test
# Please do not execute this feature against STAGING environment, because after changing the E-mail user can not revert the old E-mail again.
# The system does not allow reverting to an old or existing E-mail.

@school_api_test
Examples:
| user | namespace |
| student1_brb | brb |
| teacher1_brb | brb |
| admin1_brb | brb |

# E-mail is not editable by an external student user
# Note: this scenario is currently unstable
Expand Down
2 changes: 1 addition & 1 deletion cypress/e2e/admin/adminRegistersStudentWithLink.feature
Original file line number Diff line number Diff line change
Expand Up @@ -73,5 +73,5 @@ Feature: Admin - Student registration with registration link send by admin
@school_api_test
Examples:
| namespace | admin | role_to_manage | user_firstname | user_lastname | user_email |
| dbc | admin1_dbc | student | cypress | student_admintest | [email protected] |
| brb | admin1_brb | student | cypress | student_admintest | [email protected] |

2 changes: 1 addition & 1 deletion cypress/e2e/admin/adminRegistersTeacherWithLink.feature
Original file line number Diff line number Diff line change
Expand Up @@ -68,4 +68,4 @@ Feature: Admin - Teacher registration with registration link send by admin
@school_api_test
Examples:
| namespace | admin | role_to_manage | user_firstname | user_lastname | user_email |
| dbc | admin1_dbc | teacher | cypress | teacher_admintest | [email protected] |
| brb | admin1_brb | teacher | cypress | teacher_admintest | [email protected] |
2 changes: 1 addition & 1 deletion cypress/e2e/admin/forcePasswordChangeTeacher.feature
Original file line number Diff line number Diff line change
Expand Up @@ -90,5 +90,5 @@ Feature: Admin - user must set a new password during login
@school_api_test
Examples:
| namespace | admin | role_to_manage | user_firstname | user_lastname | user_email |
| dbc | admin1_dbc | teacher | cypress | teacher_admintest | [email protected] |
| brb | admin1_brb | teacher | cypress | teacher_admintest | [email protected] |

10 changes: 5 additions & 5 deletions cypress/e2e/course_board/shareBoardCardLink.feature
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@regression_test
@stable_test
@unstable_test
Feature: Course Board - To share a board card link

As a teacher I want to share a link to a board card.
Expand Down Expand Up @@ -63,10 +63,10 @@ Feature: Course Board - To share a board card link

@staging_test
Examples:
| teacher_1 | teacher_2 | namespace | fullname_teacher_1 | fullname_teacher_2 | course_name |
| teacher1_nbc | teacher2_nbc | nbc | Karl Herzog | Lara Hande | Cypress Test Course |
| teacher_1 | teacher_2 | namespace | fullname_teacher_1 | fullname_teacher_2 | course_name |
| teacher1_nbc | teacher2_nbc | nbc | Karl Herzog | Lara Hande | Cypress Test Course |

@school_api_test
Examples:
| teacher_1 | teacher_2 | namespace | fullname_teacher_1 | fullname_teacher_2 | course_name |
| teacher1_nbc | teacher2_nbc | nbc | cypress teacher_1 | cypress teacher_2 | Cypress Test Course |
| teacher_1 | teacher_2 | namespace | fullname_teacher_1 | fullname_teacher_2 | course_name |
| teacher1_nbc | teacher2_nbc | nbc | cypress teacher_1 | cypress teacher_2 | Cypress Test Course |
10 changes: 5 additions & 5 deletions cypress/e2e/room_board/shareBoardCardLinkInRoom.feature
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@regression_test
@stable_test
@unstable_test
Feature: Room Board - To share a board card link

As a teacher I want to share a link to a board card.
Expand Down Expand Up @@ -68,10 +68,10 @@ Feature: Room Board - To share a board card link

@staging_test
Examples:
| teacher_1 | teacher_2 | namespace | name_teacher_1 | name_teacher_2 | room_name | role_name | school_name |
| teacher1_nbc | teacher2_nbc | nbc | Herzog | Hande | Cypress Test Room | Lehrkraft | Felix Mendelssohn-Gymnasium |
| teacher_1 | teacher_2 | namespace | name_teacher_1 | name_teacher_2 | room_name | role_name | school_name |
| teacher1_nbc | teacher2_nbc | nbc | Herzog | Hande | Cypress Test Room | Lehrkraft | Felix Mendelssohn-Gymnasium |

@school_api_test
Examples:
| teacher_1 | teacher_2 | namespace | name_teacher_1 | name_teacher_2 | room_name | role_name | school_name |
| teacher1_nbc | teacher2_nbc | nbc | teacher_1 | teacher_2 | Cypress Test Room | Lehrkraft | cypress-automated-tests |
| teacher_1 | teacher_2 | namespace | name_teacher_1 | name_teacher_2 | room_name | role_name | school_name |
| teacher1_nbc | teacher2_nbc | nbc | teacher_1 | teacher_2 | Cypress Test Room | Lehrkraft | cypress-automated-tests |
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
@regression_test
@stable_test
Feature: Rooms - Share multi-column room board in the Rooms with teacher from the same school

As a teacher, I want to share a multi-column board with another teacher within the same school so that I can collaborate effectively.

Scenario: Share a multi-column board with a Teacher within the Sameschool

# pre-condition: Creating teacher accounts
Given I am logged in as a '<teacher2>' at '<namespace>'
Given I am logged in as a '<teacher1>' at '<namespace>'

# pre-condition: Room and multi-column board exist
Given a room named '<room_name_source>' exists
Given a multi-column board named '<board_title>' exists in the room

# the first teacher shares the multi-column board with another teacher in the same school using the copied URL
Then I see the page board details
When I click on the three dot menu in room board
When I select the three dot menu action 'share'
Then I see the Share settings dialog
Then I see the title in the share modal
Then I see the information box in share modal
Then I see the button Cancel in the share modal
Then I see the checkbox Link valid for the same school is by default checked
Then I see the checkbox Link valid for 21 days is by default checked
When I click on the button Continue
Then I see the Share via modal
Then I see the result url text box in the modal
Then I see the option Share via Email
Then I see the option Copy link
Then I see the option Scan QR Code
Then I copy the board URL
Then I see the alert message

# pre-condition: the second teacher is logged into the application, and a room exists
Given I am logged in as a '<teacher2>' at '<namespace>'
Given a room named '<room_name_target>' exists

# the second teacher within the same school imports the multi-column board
When I open the shared URL
Then I see the modal to import the shared board into the room
Then I see the title in the share modal
When I select the room from the room list in the modal
When I click on the Continue button in the modal
When I enter a new name for the imported board '<import_board_title>' in the modal
When I click on the button Import in the modal
Then I see the detail page of room '<room_name_target>'
When I click on the multi-column board in the room detail page
Then I see the page board details
Then I see the chip Draft

# post-condition: rooms created by both teachers are deleted
Given I am logged in as a '<teacher2>' at '<namespace>'
Given the room named '<room_name_target>' is deleted
Given I am logged in as a '<teacher1>' at '<namespace>'
Given the room named '<room_name_source>' is deleted

@school_api_test
Examples:
| teacher1 | teacher2 | namespace | room_name_source | room_name_target | board_title | import_board_title |
| teacher1_brb | teacher2_brb | brb | Cypress Room Name-1 | Cypress Room Name-2 | Board Cy Title | Board Cy Import Title |

@staging_test
Examples:
| teacher1 | teacher2 | namespace | room_name_source | room_name_target | board_title | import_board_title |
| teacher1_brb | teacher2_brb | brb | Cypress Room Name-1 | Cypress Room Name-2 | Board Cy Title | Board Cy Import Title |
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
@unstable_test

# Note: This feature can not be currently executed using the school API, as creating two different school within the same scenario is not possible. And creating them in two different scenarios results in separate sessions, which prevents the copied board URL from the first scenario from being used in the second scenario.

Feature: Rooms - Share multi-column board in the rooms with the teacher from different school

As a teacher, I want to share a multi-column board with another teacher from a different school so that I can collaborate effectively.

Scenario: Share a multi-column board with a teacher from differentschool

# pre-condition: creating teacher accounts for two different schools
Given I am logged in as a '<teacherExt1>' at '<namespace>'
Given I am logged in as a '<teacher1>' at '<namespace>'

# pre-condition: room and multi-column board are available in the first school
Given a room named '<room_name_source>' exists
Given a multi-column board named '<board_title>' exists in the room

# first teacher from the first school allows sharing the multi-column board with another teacher from a different school
Then I see the page board details
When I click on the three dot menu in room board
When I select the three dot menu action 'share'
Then I see the Share settings dialog
Then I see the title in the share modal
Then I see the information box in share modal
Then I see the button Cancel in the share modal
Then I see the checkbox Link valid for the same school is by default checked
Then I click to uncheck Link valid for the same school
Then I see the checkbox Link valid for 21 days is by default checked
When I click on the button Continue
Then I see the Share via modal
Then I see the result url text box in the modal
Then I see the option Share via Email
Then I see the option Copy link
Then I see the option Scan QR Code
Then I copy the board URL
Then I see the alert message

# pre-condition: second teacher logged into the application, and a room exists
Given I am logged in as a '<teacherExt1>' at '<namespace>'
Given a room named '<room_name_target>' exists

# second teacher from the second school can access the shared URL and import the multi-column board
When I open the shared URL
Then I see the modal to import the shared board into the room
Then I see the title in the share modal
When I select the room from the room list in the modal
When I click on the Continue button in the modal
When I enter a new name for the imported board '<import_board_title>' in the modal
When I click on the button Import in the modal
When I click on the multi-column board in the room detail page
Then I see the page board details
Then I see the chip Draft

# first teacher from the first school does not allow sharing the multi-column board with another teacher from a different school
Given I am logged in as a '<teacher1>' at '<namespace>'
When I go to room overview
When I go to room '<room_name_source>'
Then I see the detail page of room '<room_name_source>'
When I click on the multi-column board in the room detail page
Then I see the page board details
When I click on the three dot menu in room board
When I select the three dot menu action 'share'
Then I see the Share settings dialog
Then I see the checkbox Link valid for the same school is by default checked
When I click on the button Continue
Then I see the Share via modal
Then I see the option Copy link
Then I copy the board URL

# second teacher from the second school can not access the shared board URL and sees the 'Not Allowed' alert
Given I am logged in as a '<teacherExt1>' at '<namespace>'
When I open the shared URL
Then I see an alert that importing the board is not allowed

# post-condition: rooms created by both teachers are deleted
Given I am logged in as a '<teacher1>' at '<namespace>'
Given the room named '<room_name_source>' is deleted
Given I am logged in as a '<teacherExt1>' at '<namespace>'
Given the room named '<room_name_target>' is deleted

@school_api_test
Examples:
| teacher1 | teacherExt1 | namespace | room_name_source | room_name_target | board_title | import_board_title |
| teacher1_brb | teacherExt1_brb | brb | Cypress Room Name-1 | Cypress Room Name-2 | Board Cy Title | Board Cy Import Title |

Loading
Loading