diff --git a/mod/lesson/tests/behat/lesson_edit_cluster.feature b/mod/lesson/tests/behat/lesson_edit_cluster.feature new file mode 100644 index 00000000000..83633e25475 --- /dev/null +++ b/mod/lesson/tests/behat/lesson_edit_cluster.feature @@ -0,0 +1,113 @@ +@mod @mod_lesson +Feature: In a lesson activity, teacher can edit a cluster page + In order to modify an existing lesson and change navigation + As a teacher + I need to edit cluster pages in the lesson + + Background: + Given the following "users" exist: + | username | firstname | lastname | email | + | teacher1 | Teacher | 1 | teacher1@asd.com | + | student1 | Student | 1 | student1@asd.com | + And the following "courses" exist: + | fullname | shortname | category | + | Course 1 | C1 | 0 | + And the following "course enrolments" exist: + | user | course | role | + | teacher1 | C1 | editingteacher | + | student1 | C1 | student | + And I log in as "teacher1" + And I follow "Course 1" + And I turn editing mode on + And I add a "Lesson" to section "1" and I fill the form with: + | Name | Lesson with cluster | + | Description | Test lesson description | + And I follow "Lesson with cluster" + And I follow "Add a content page" + And I set the following fields to these values: + | Page title | First page name | + | Page contents | First page contents | + | id_answer_editor_0 | Next page | + | id_jumpto_0 | Next page | + And I press "Save page" + And I follow "Expanded" + And I click on "Add a cluster" "link" in the "//div[contains(concat(' ', normalize-space(@class), ' '), ' addlinks ')][2]" "xpath_element" + And I click on "Add a question page here" "link" in the "//div[contains(concat(' ', normalize-space(@class), ' '), ' addlinks ')][3]" "xpath_element" + And I set the field "Select a question type" to "Multichoice" + And I press "Add a question page" + And I set the following fields to these values: + | Page title | question 1 | + | Page contents | Question from cluster | + | id_answer_editor_0 | Correct answer | + | id_response_editor_0 | Good | + | id_jumpto_0 | Cluster | + | id_score_0 | 1 | + | id_answer_editor_1 | Incorrect answer | + | id_response_editor_1 | Bad | + | id_jumpto_1 | This page | + | id_score_1 | 0 | + And I press "Save page" + And I click on "Add a question page here" "link" in the "//div[contains(concat(' ', normalize-space(@class), ' '), ' addlinks ')][4]" "xpath_element" + And I set the field "Select a question type" to "Multichoice" + And I press "Add a question page" + And I set the following fields to these values: + | Page title | question 2 | + | Page contents | Question from cluster | + | id_answer_editor_0 | Correct answer | + | id_response_editor_0 | Good | + | id_jumpto_0 | Cluster | + | id_score_0 | 1 | + | id_answer_editor_1 | Incorrect answer | + | id_response_editor_1 | Bad | + | id_jumpto_1 | This page | + | id_score_1 | 0 | + And I press "Save page" + And I click on "Add an end of cluster" "link" in the "//div[contains(concat(' ', normalize-space(@class), ' '), ' addlinks ')][5]" "xpath_element" + And I click on "Add a content page" "link" in the "//div[contains(concat(' ', normalize-space(@class), ' '), ' addlinks ')][6]" "xpath_element" + And I set the following fields to these values: + | Page title | Second page name | + | Page contents | Content page after cluster | + | id_answer_editor_0 | Next page | + | id_jumpto_0 | Next page | + And I press "Save page" + + @javascript + Scenario: Edit lesson cluster page + Given I click on "//th[normalize-space(.)='Cluster']/descendant::a[2]" "xpath_element" + When I set the following fields to these values: + | Page title | Modified name | + | Page contents | Modified contents | + And I press "Save page" + Then I should see "Modified name" + And I click on "//th[normalize-space(.)='Modified name']/descendant::a[2]" "xpath_element" + And I should see "Unseen question within a cluster" + And I press "Cancel" + And I click on "//th[normalize-space(.)='End of cluster']/descendant::a[2]" "xpath_element" + And I set the following fields to these values: + | Page title | Modified end | + | Page contents | Modified end contents | + | id_jumpto_0 | Second page name | + And I press "Save page" + And I should see "Modified end" + And I log out + And I log in as "student1" + And I follow "Course 1" + And I follow "Lesson with cluster" + And I should see "First page contents" + And I press "Next page" + And I should see "Question from cluster" + And I set the following fields to these values: + | Correct answer | 1 | + And I press "Submit" + And I should see "Good" + And I press "Continue" + And I should see "Question from cluster" + And I set the following fields to these values: + | Correct answer | 1 | + And I press "Submit" + And I should see "Good" + And I press "Continue" + And I should see "Content page after cluster" + And I press "Next page" + And I should see "Congratulations - end of lesson reached" + And I should see "Your score is 2 (out of 2)." diff --git a/mod/lesson/tests/behat/lesson_edit_pages.feature b/mod/lesson/tests/behat/lesson_edit_pages.feature new file mode 100644 index 00000000000..bd9be96d3d5 --- /dev/null +++ b/mod/lesson/tests/behat/lesson_edit_pages.feature @@ -0,0 +1,129 @@ +@mod @mod_lesson +Feature: In a lesson activity, teacher can edit lesson's pages + In order to modify an existing lesson + As a teacher + I need to edit pages in the lesson + + Background: + Given the following "users" exist: + | username | firstname | lastname | email | + | teacher1 | Teacher | 1 | teacher1@asd.com | + | student1 | Student | 1 | student1@asd.com | + And the following "courses" exist: + | fullname | shortname | category | + | Course 1 | C1 | 0 | + And the following "course enrolments" exist: + | user | course | role | + | teacher1 | C1 | editingteacher | + | student1 | C1 | student | + And I log in as "teacher1" + And I follow "Course 1" + And I turn editing mode on + And I add a "Lesson" to section "1" and I fill the form with: + | Name | Test lesson name | + | Description | Test lesson description | + And I follow "Test lesson name" + And I follow "Add a content page" + And I set the following fields to these values: + | Page title | First page name | + | Page contents | First page contents | + | id_answer_editor_0 | Next page | + | id_jumpto_0 | Next page | + And I press "Save page" + And I set the field "qtype" to "Add a content page" + And I set the following fields to these values: + | Page title | Second page name | + | Page contents | Second page contents | + | id_answer_editor_0 | Previous page | + | id_jumpto_0 | Previous page | + | id_answer_editor_1 | Next page | + | id_jumpto_1 | Next page | + And I press "Save page" + And I follow "Expanded" + And I click on "Add a question page here" "link" in the "//div[contains(concat(' ', normalize-space(@class), ' '), ' addlinks ')][3]" "xpath_element" + And I set the field "Select a question type" to "Numerical" + And I press "Add a question page" + And I set the following fields to these values: + | Page title | Hardest question ever | + | Page contents | 1 + 1? | + | id_answer_editor_0 | 2 | + | id_response_editor_0 | Correct answer | + | id_jumpto_0 | End of lesson | + | id_score_0 | 1 | + | id_answer_editor_1 | 1 | + | id_response_editor_1 | Incorrect answer | + | id_jumpto_1 | Second page name | + | id_score_1 | 0 | + And I press "Save page" + + @javascript + Scenario: Edit lesson content page + Given I click on "//th[normalize-space(.)='Second page name']/descendant::a[2]" "xpath_element" + When I set the following fields to these values: + | Page title | Modified second page | + | Page contents | Modified contents | + | id_answer_editor_0 | Forward | + | id_jumpto_0 |Next page | + | id_answer_editor_1 | Backward | + | id_jumpto_1 | Previous page | + And I press "Save page" + Then I should see "Modified second page" + And I should not see "Second page name" + And I log out + And I log in as "student1" + And I follow "Course 1" + And I follow "Test lesson name" + And I should see "First page contents" + And I press "Next page" + And I should see "Modified contents" + And I should not see "Second page contents" + And I press "Backward" + And I should see "First page contents" + And I press "Next page" + And I should see "Modified contents" + And I press "Forward" + And I should see "1 + 1?" + And I set the following fields to these values: + | Your answer | 2 | + And I press "Submit" + And I should see "Correct answer" + And I should not see "Incorrect answer" + And I press "Continue" + And I should see "Congratulations - end of lesson reached" + And I should see "Your score is 1 (out of 1)." + + @javascript + Scenario: Edit lesson question page + Given I click on "//th[normalize-space(.)='Hardest question ever']/descendant::a[2]" "xpath_element" + When I set the following fields to these values: + | Page title | New hardest question | + | Page contents | 1 + 2? | + | id_answer_editor_0 | 2 | + | id_response_editor_0 | Your answer is incorrect | + | id_jumpto_0 | End of lesson | + | id_score_0 | 0 | + | id_answer_editor_1 | 3 | + | id_response_editor_1 | Your answer is correct | + | id_jumpto_1 | End of lesson | + | id_score_1 | 1 | + And I press "Save page" + Then I should see "New hardest question" + And I should not see "Hardest question ever" + And I log out + And I log in as "student1" + And I follow "Course 1" + And I follow "Test lesson name" + And I should see "First page contents" + And I press "Next page" + And I should see "Second page contents" + And I press "Next page" + And I should see "1 + 2?" + And I should not see "1 + 1?" + And I set the following fields to these values: + | Your answer | 3 | + And I press "Submit" + And I should see "Your answer is correct" + And I should not see "Incorrect answer" + And I press "Continue" + And I should see "Congratulations - end of lesson reached" + And I should see "Your score is 1 (out of 1)." \ No newline at end of file