MDL-52839 behat: Fixed xpath and wait to ensure element is visible
[moodle.git] / mod / assign / feedback / editpdf / tests / behat / annotate_pdf.feature
1 @mod @mod_assign @assignfeedback @assignfeedback_editpdf @_file_upload
2 Feature: In an assignment, teacher can annotate PDF files during grading
3   In order to provide visual report on a graded PDF
4   As a teacher
5   I need to use the PDF editor
7   @javascript
8   Scenario: Submit a PDF file as a student and annotate the PDF as a teacher
9     Given ghostscript is installed
10     And the following "courses" exist:
11       | fullname | shortname | category | groupmode |
12       | Course 1 | C1 | 0 | 1 |
13     And the following "users" exist:
14       | username | firstname | lastname | email |
15       | teacher1 | Teacher | 1 | teacher1@example.com |
16       | student1 | Student | 1 | student1@example.com |
17     And the following "course enrolments" exist:
18       | user | course | role |
19       | teacher1 | C1 | editingteacher |
20       | student1 | C1 | student |
21     And I log in as "admin"
22     And I navigate to "Annotate PDF" node in "Site administration > Plugins > Activity modules > Assignment > Feedback plugins"
23     And I upload "pix/help.png" file to "" filemanager
24     And I upload "pix/docs.png" file to "" filemanager
25     When I press "Save changes"
26     Then I should see "Changes saved"
27     And I follow "Test ghostscript path"
28     And I should see "The ghostscript path appears to be OK"
29     And I log out
30     And I log in as "teacher1"
31     And I follow "Course 1"
32     And I turn editing mode on
33     And I add a "Assignment" to section "1" and I fill the form with:
34       | Assignment name | Test assignment name |
35       | Description | Submit your PDF file |
36       | assignsubmission_file_enabled | 1 |
37       | Maximum number of uploaded files | 2 |
38     And I log out
39     And I log in as "student1"
40     And I follow "Course 1"
41     And I follow "Test assignment name"
42     And I press "Add submission"
43     And I upload "mod/assign/feedback/editpdf/tests/fixtures/submission.pdf" file to "File submissions" filemanager
44     And I upload "mod/assign/feedback/editpdf/tests/fixtures/testgs.pdf" file to "File submissions" filemanager
45     And I press "Save changes"
46     And I should see "Submitted for grading"
47     And I should see "submission.pdf"
48     And I should see "Not graded"
49     And I log out
50     And I log in as "teacher1"
51     And I follow "Course 1"
52     And I follow "Test assignment name"
53     And I follow "View/grade all submissions"
54     And I click on "Grade" "link" in the "Submitted for grading" "table_row"
55     And I follow "Launch PDF editor..."
56     And I change window size to "large"
57     And I should see "Page 1 of 3"
58     And I click on ".navigate-next-button" "css_element"
59     And I should see "Page 2 of 3"
60     And I click on ".stampbutton" "css_element"
61     And I click on ".linebutton" "css_element"
62     And I click on ".commentcolourbutton" "css_element"
63     And I click on "//img[@alt=\"Blue\"]/parent::button" "xpath_element"
64     And I change window size to "medium"
65     And I wait until the page is ready
66     And I click on "Close" "button"
67     And I press "Save changes"
68     And I should see "The grade changes were saved"
70   @javascript
71   Scenario: Submit a PDF file as a student in a team and annotate the PDF as a teacher
72     Given ghostscript is installed
73     And the following "courses" exist:
74       | fullname | shortname | category | groupmode |
75       | Course 1 | C1 | 0 | 1 |
76     And the following "users" exist:
77       | username | firstname | lastname | email |
78       | teacher1 | Teacher | 1 | teacher1@example.com |
79       | student1 | Student | 1 | student1@example.com |
80       | student2 | Student | 2 | student2@example.com |
81       | student3 | Student | 3 | student3@example.com |
82       | student4 | Student | 4 | student4@example.com |
83     And the following "course enrolments" exist:
84       | user | course | role |
85       | teacher1 | C1 | editingteacher |
86       | student1 | C1 | student |
87       | student2 | C1 | student |
88       | student3 | C1 | student |
89       | student4 | C1 | student |
90     And the following "groups" exist:
91       | name | course | idnumber |
92       | G1 | C1 | G1 |
93       | G2 | C1 | G2 |
94     And the following "groupings" exist:
95       | name | course | idnumber |
96       | G1   | C1     | G1       |
97     And the following "group members" exist:
98       | user        | group |
99       | student1    | G1  |
100       | student2    | G1  |
101       | student3    | G2  |
102       | student4    | G2  |
103     And the following "grouping groups" exist:
104       | grouping | group |
105       | G1       | G1    |
106       | G1       | G2    |
107     And I log in as "teacher1"
108     And I follow "Course 1"
109     And I turn editing mode on
110     And I add a "Assignment" to section "1" and I fill the form with:
111       | Assignment name | Test assignment name |
112       | Description | Submit your PDF file |
113       | assignsubmission_file_enabled | 1 |
114       | Maximum number of uploaded files | 2 |
115       | Students submit in groups | Yes |
116       | Grouping for student groups | G1 |
117     And I log out
118     When I log in as "student1"
119     And I follow "Course 1"
120     And I follow "Test assignment name"
121     And I press "Add submission"
122     And I upload "mod/assign/feedback/editpdf/tests/fixtures/submission.pdf" file to "File submissions" filemanager
123     And I press "Save changes"
124     Then I should see "Submitted for grading"
125     And I should see "submission.pdf"
126     And I should see "Not graded"
127     And I log out
128     And I log in as "teacher1"
129     And I follow "Course 1"
130     And I follow "Test assignment name"
131     And I follow "View/grade all submissions"
132     And I click on "Grade" "link" in the "Student 2" "table_row"
133     And I follow "Launch PDF editor..."
134     And I change window size to "large"
135     And I click on ".stampbutton" "css_element"
136     And I click on ".drawingcanvas" "css_element"
137     And I change window size to "medium"
138     And I wait until the page is ready
139     And I click on "Close" "button"
140     And I press "Save changes"
141     And I should see "The grade changes were saved"
142     And I press "Continue"
143     And I should see "View annotated PDF..." in the "student1@example.com" "table_row"