Skip to content

Commit

Permalink
Merge pull request #115 from hpi-schul-cloud/BC-3695-add-substitute-t…
Browse files Browse the repository at this point in the history
…eacher-to-course

BC-3695-Test: Add substitute teacher to course
  • Loading branch information
marcinpasscon authored Mar 31, 2023
2 parents e538640 + dd94a99 commit dfb098d
Show file tree
Hide file tree
Showing 6 changed files with 129 additions and 66 deletions.
47 changes: 25 additions & 22 deletions .github/workflows/automatic-trigger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,24 @@ jobs:
e2e-system-tests:
runs-on: ubuntu-latest
#strategy:
#max-parallel: 1
#fail-fast: false
#matrix:
#spec:
#[
#'account',
#'addons',
#'courses',
#'dashboard',
#'files',
#'help',
#'login',
#'management',
#'news',
#'tasks',
#'team',
#'topics'
#]
#max-parallel: 1
#fail-fast: false
#matrix:
#spec:
#[
#'account',
#'addons',
#'courses',
#'dashboard',
#'files',
#'help',
#'login',
#'management',
#'news',
#'tasks',
#'team',
#'topics'
#]
steps:
- name: Setup Node
uses: actions/setup-node@v3
Expand Down Expand Up @@ -57,14 +57,17 @@ jobs:
CYPRESS_EXPERT_1_PASSWORD: ${{ secrets.CYPRESS_EXPERT_1_PASSWORD }}
CYPRESS_STUDENT_EXTERN: ${{ secrets.CYPRESS_STUDENT_EXTERN }}
CYPRESS_STUDENT_EXTERN_PASSWORD: ${{ secrets.CYPRESS_STUDENT_EXTERN_PASSWORD }}
CYPRESS_STUDENT_PASSWORD_CHANGE_EMAIL: ${{ secrets.CYPRESS_STUDENT_PASSWORD_CHANGE_EMAIL}}
CYPRESS_STUDENT_PASSWORD_CHANGE_OLD_PWD: ${{ secrets.CYPRESS_STUDENT_PASSWORD_CHANGE_OLD_PWD}}
CYPRESS_STUDENT_PASSWORD_CHANGE_NEW_PWD: ${{ secrets.CYPRESS_STUDENT_PASSWORD_CHANGE_NEW_PWD}}
CYPRESS_STUDENT_PASSWORD_CHANGE_EMAIL: ${{ secrets.CYPRESS_STUDENT_PASSWORD_CHANGE_EMAIL }}
CYPRESS_STUDENT_PASSWORD_CHANGE_OLD_PWD: ${{ secrets.CYPRESS_STUDENT_PASSWORD_CHANGE_OLD_PWD }}
CYPRESS_STUDENT_PASSWORD_CHANGE_NEW_PWD: ${{ secrets.CYPRESS_STUDENT_PASSWORD_CHANGE_NEW_PWD }}
CYPRESS_TEACHER_1_FIRST_NAME: ${{ secrets.CYPRESS_TEACHER_1_FIRST_NAME }}
CYPRESS_TEACHER_1_LAST_NAME: ${{ secrets.CYPRESS_TEACHER_1_LAST_NAME }}
CYPRESS_TEACHER_2_FIRST_NAME: ${{ secrets.CYPRESS_TEACHER_2_FIRST_NAME }}
CYPRESS_TEACHER_2_LAST_NAME: ${{ secrets.CYPRESS_TEACHER_2_LAST_NAME }}
DEBUG: '@cypress/github-action'
with:
#command: npm run tag:stable:${{ matrix.spec }}
browser: chrome
command-prefix: "--"

- name: 📬 Upload test artifacts 📬
uses: actions/upload-artifact@v3
Expand Down
47 changes: 25 additions & 22 deletions .github/workflows/manual-trigger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,24 +19,24 @@ jobs:
e2e-system-tests:
runs-on: ubuntu-latest
#strategy:
#fail-fast: false
#max-parallel: 1
#matrix:
#spec:
#[
#'account',
#'addons',
#'courses',
#'dashboard',
#'files',
#'help',
#'login',
#'management',
#'news',
#'tasks',
#'team',
#'topics'
#]
#fail-fast: false
#max-parallel: 1
#matrix:
#spec:
#[
#'account',
#'addons',
#'courses',
#'dashboard',
#'files',
#'help',
#'login',
#'management',
#'news',
#'tasks',
#'team',
#'topics'
#]

steps:
- name: Setup Node
Expand Down Expand Up @@ -72,14 +72,17 @@ jobs:
CYPRESS_EXPERT_1_PASSWORD": ${{ secrets.CYPRESS_EXPERT_1_PASSWORD }}
CYPRESS_STUDENT_EXTERN: ${{ secrets.CYPRESS_STUDENT_EXTERN }}
CYPRESS_STUDENT_EXTERN_PASSWORD: ${{ secrets.CYPRESS_STUDENT_EXTERN_PASSWORD }}
CYPRESS_STUDENT_PASSWORD_CHANGE_EMAIL: ${{ secrets.CYPRESS_STUDENT_PASSWORD_CHANGE_EMAIL}}
CYPRESS_STUDENT_PASSWORD_CHANGE_OLD_PWD: ${{ secrets.CYPRESS_STUDENT_PASSWORD_CHANGE_OLD_PWD}}
CYPRESS_STUDENT_PASSWORD_CHANGE_NEW_PWD: ${{ secrets.CYPRESS_STUDENT_PASSWORD_CHANGE_NEW_PWD}}
CYPRESS_STUDENT_PASSWORD_CHANGE_EMAIL: ${{ secrets.CYPRESS_STUDENT_PASSWORD_CHANGE_EMAIL }}
CYPRESS_STUDENT_PASSWORD_CHANGE_OLD_PWD: ${{ secrets.CYPRESS_STUDENT_PASSWORD_CHANGE_OLD_PWD }}
CYPRESS_STUDENT_PASSWORD_CHANGE_NEW_PWD: ${{ secrets.CYPRESS_STUDENT_PASSWORD_CHANGE_NEW_PWD }}
CYPRESS_TEACHER_1_FIRST_NAME: ${{ secrets.CYPRESS_TEACHER_1_FIRST_NAME }}
CYPRESS_TEACHER_1_LAST_NAME: ${{ secrets.CYPRESS_TEACHER_1_LAST_NAME }}
CYPRESS_TEACHER_2_FIRST_NAME: ${{ secrets.CYPRESS_TEACHER_2_FIRST_NAME }}
CYPRESS_TEACHER_2_LAST_NAME: ${{ secrets.CYPRESS_TEACHER_2_LAST_NAME }}
DEBUG: '@cypress/github-action'
with:
#command: npm run tag:stable:${{ matrix.spec }}
browser: chrome
command-prefix: "--"

- name: 📬 Upload test artifacts 📬
uses: actions/upload-artifact@v3
Expand Down
47 changes: 25 additions & 22 deletions .github/workflows/scheduled-trigger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,24 @@ jobs:
e2e-system-tests:
runs-on: ubuntu-latest
#strategy:
#fail-fast: false
#max-parallel: 1
#matrix:
#spec:
#[
#'account',
#'addons',
#'courses',
#'dashboard',
#'files',
#'help',
#'login',
#'management',
#'news',
#'tasks',
#'team',
#'topics'
#]
#fail-fast: false
#max-parallel: 1
#matrix:
#spec:
#[
#'account',
#'addons',
#'courses',
#'dashboard',
#'files',
#'help',
#'login',
#'management',
#'news',
#'tasks',
#'team',
#'topics'
#]
steps:
- name: Setup Node
uses: actions/setup-node@v3
Expand Down Expand Up @@ -58,14 +58,17 @@ jobs:
CYPRESS_EXPERT_1_PASSWORD": ${{ secrets.CYPRESS_EXPERT_1_PASSWORD }}
CYPRESS_STUDENT_EXTERN: ${{ secrets.CYPRESS_STUDENT_EXTERN }}
CYPRESS_STUDENT_EXTERN_PASSWORD: ${{ secrets.CYPRESS_STUDENT_EXTERN_PASSWORD }}
CYPRESS_STUDENT_PASSWORD_CHANGE_EMAIL: ${{ secrets.CYPRESS_STUDENT_PASSWORD_CHANGE_EMAIL}}
CYPRESS_STUDENT_PASSWORD_CHANGE_OLD_PWD: ${{ secrets.CYPRESS_STUDENT_PASSWORD_CHANGE_OLD_PWD}}
CYPRESS_STUDENT_PASSWORD_CHANGE_NEW_PWD: ${{ secrets.CYPRESS_STUDENT_PASSWORD_CHANGE_NEW_PWD}}
CYPRESS_STUDENT_PASSWORD_CHANGE_EMAIL: ${{ secrets.CYPRESS_STUDENT_PASSWORD_CHANGE_EMAIL }}
CYPRESS_STUDENT_PASSWORD_CHANGE_OLD_PWD: ${{ secrets.CYPRESS_STUDENT_PASSWORD_CHANGE_OLD_PWD }}
CYPRESS_STUDENT_PASSWORD_CHANGE_NEW_PWD: ${{ secrets.CYPRESS_STUDENT_PASSWORD_CHANGE_NEW_PWD }}
CYPRESS_TEACHER_1_FIRST_NAME: ${{ secrets.CYPRESS_TEACHER_1_FIRST_NAME }}
CYPRESS_TEACHER_1_LAST_NAME: ${{ secrets.CYPRESS_TEACHER_1_LAST_NAME }}
CYPRESS_TEACHER_2_FIRST_NAME: ${{ secrets.CYPRESS_TEACHER_2_FIRST_NAME }}
CYPRESS_TEACHER_2_LAST_NAME: ${{ secrets.CYPRESS_TEACHER_2_LAST_NAME }}
DEBUG: '@cypress/github-action'
with:
#command: npm run tag:stable:${{ matrix.spec }}
browser: chrome
command-prefix: "--"

- name: 📬 Upload test artifacts 📬
uses: actions/upload-artifact@v3
Expand Down
18 changes: 18 additions & 0 deletions cypress/e2e/course/addSubstituteTeacherToCourse.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#@courses @stable_test
Feature: Course - Add substitute teacher to course

As a teacher I want to add substitute teacher to the course.

Scenario: Adding substitute teacher to course
Given I am logged in as a 'teacher1' at 'brb'
When I go to rooms overview
And I go to room 'Biologie'
When I open course edit page
Then I can see course edit page
And I clear substitute teacher field
And I add substitute teacher 'teacher2'
And I click on save changes
Then I log out
Given I am logged in as a 'teacher2' at 'brb'
When I go to rooms overview
And I go to room 'Biologie'
28 changes: 28 additions & 0 deletions cypress/support/pages/course/pageCourses.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ class Courses {
'[data-testid="room-detail-task-chip-submitted"]'
static #contentCardTaskInfoGradingsChip =
'[data-testid="room-detail-task-chip-graded"]'
static #addSubstituteTeacher = '[id="substituteTeacher_chosen"]'
static #chosenResults = '.chosen-results li'
static #chosenContainer = '.chosen-container span'

courseIsVisiblOnOverviewPage (courseName) {
cy.contains(courseName).should('be.visible').and('contain.text', courseName)
Expand Down Expand Up @@ -367,5 +370,30 @@ class Courses {
expect(interceptions.response.statusCode).to.equal(200)
})
}

clearSubstituteTeacherField() {
cy.get(Courses.#addSubstituteTeacher).click().type('{selectall}{backspace}')
}

addSubstituteTeacher (username) {
let userFirstName
let userLastName
switch (username) {
case 'teacher1':
userFirstName = Cypress.env('TEACHER_1_FIRST_NAME')
userLastName = Cypress.env('TEACHER_1_LAST_NAME')
break
case 'teacher2':
userFirstName = Cypress.env('TEACHER_2_FIRST_NAME')
userLastName = Cypress.env('TEACHER_2_LAST_NAME')
break
}
let userFullName = userLastName + ", " + userFirstName
cy.get(Courses.#chosenResults).contains(userFullName).click()
cy.get(Courses.#chosenContainer).should('contain', userFullName)
}



}
export default Courses
Original file line number Diff line number Diff line change
Expand Up @@ -138,3 +138,11 @@ Then('I see task {string} contains buttons', taskTitle => {
Then('I can see topic {string} on course page', topicTitle => {
courses.topicIsVisibleOnCoursePage(topicTitle)
})

And('I clear substitute teacher field', () => {
courses.clearSubstituteTeacherField()
})

And('I add substitute teacher {string}', username => {
courses.addSubstituteTeacher(username)
})

0 comments on commit dfb098d

Please sign in to comment.