diff --git a/mod/h5pactivity/classes/local/report/participants.php b/mod/h5pactivity/classes/local/report/participants.php index 9c61cbab346..3ecadfe7b05 100644 --- a/mod/h5pactivity/classes/local/report/participants.php +++ b/mod/h5pactivity/classes/local/report/participants.php @@ -203,4 +203,16 @@ class participants extends table_sql implements report { } return ''; } + + /** + * Print headers + * + * Note: as per MDL-80754, we have to modify the header dynamically to display the total + * attempts in the column header. + */ + public function print_headers(): void { + $totalcount = array_sum($this->count); + $this->headers[$this->columns['attempts']] = get_string('attempts_report_header_label', 'mod_h5pactivity', $totalcount); + parent::print_headers(); + } } diff --git a/mod/h5pactivity/lang/en/h5pactivity.php b/mod/h5pactivity/lang/en/h5pactivity.php index b4aa47d3252..bae7c3a546f 100644 --- a/mod/h5pactivity/lang/en/h5pactivity.php +++ b/mod/h5pactivity/lang/en/h5pactivity.php @@ -50,6 +50,7 @@ $string['attempt_success_fail'] = 'Fail'; $string['attempt_success_pass'] = 'Pass'; $string['attempt_success_unknown'] = 'Not reported'; $string['attempts'] = 'Attempts'; +$string['attempts_report_header_label'] = 'Attempts ({$a})'; $string['attempts_report'] = 'Attempts report'; $string['attempts_none'] = 'This user has no attempts to display.'; $string['choice'] = 'Choice'; @@ -129,7 +130,7 @@ $string['result_sequencing_answer'] = 'Position value'; $string['result_sequencing_position'] = '#{$a}'; $string['review_mode'] = 'Review attempts'; $string['review_my_attempts'] = 'View my attempts'; -$string['review_user_attempts'] = 'View user attempts ({$a})'; +$string['review_user_attempts'] = 'View ({$a})'; $string['review_none'] = 'Participants cannot review their own attempts'; $string['review_on_completion'] = 'Participants can review their own attempts'; $string['savestatefreq'] = 'Save state frequency'; diff --git a/mod/h5pactivity/tests/behat/attempt_options.feature b/mod/h5pactivity/tests/behat/attempt_options.feature index ebee06b3bd0..652abd9818d 100644 --- a/mod/h5pactivity/tests/behat/attempt_options.feature +++ b/mod/h5pactivity/tests/behat/attempt_options.feature @@ -54,7 +54,7 @@ Feature: Attempts review settings. # TODO: The non-editing teachers will be able to see attempts when MDL-80028 is fixed. | teacher2 | 1 | 1 | not exist | see | not see | not see | not see | - Scenario: View attempts link behaviour + Scenario: View link behaviour Given the following "activity" exists: | activity | h5pactivity | | name | H5P package | @@ -80,4 +80,4 @@ Feature: Attempts review settings. | success | 1 | And I am on the "H5P package" "h5pactivity activity" page And I follow "View attempts (1)" - And I should see "View user attempts" + And I should see "View (1)" diff --git a/mod/h5pactivity/tests/behat/locking.feature b/mod/h5pactivity/tests/behat/locking.feature index 04b0be25bfc..ed550c89a4c 100644 --- a/mod/h5pactivity/tests/behat/locking.feature +++ b/mod/h5pactivity/tests/behat/locking.feature @@ -43,7 +43,7 @@ Feature: Add H5P activity context locking And I am on the "H5P package" "h5pactivity activity" page logged in as admin When I navigate to "Attempts report" in current page administration Then I should see "Student 1" - And I should see "View user attempts (1)" in the "Student 1" "table_row" + And I should see "View (1)" in the "Student 1" "table_row" And I should see "Student 2" And I should not see "Teacher 1" @@ -62,7 +62,7 @@ Feature: Add H5P activity context locking And I am on the "H5P package" "h5pactivity activity" page logged in as admin When I navigate to "Attempts report" in current page administration Then I should see "Student 1" - And I should see "View user attempts (1)" in the "Student 1" "table_row" + And I should see "View (1)" in the "Student 1" "table_row" And I should see "Student 2" And I should not see "Teacher 1" @@ -90,6 +90,6 @@ Feature: Add H5P activity context locking When I am on the "H5P package" "h5pactivity activity" page And I navigate to "Attempts report" in current page administration Then I should see "Student 1" - And I should see "View user attempts (1)" + And I should see "View (1)" And I should see "Student 2" And I should not see "Teacher 1" diff --git a/mod/h5pactivity/tests/behat/reports.feature b/mod/h5pactivity/tests/behat/reports.feature new file mode 100644 index 00000000000..57c6ba7e342 --- /dev/null +++ b/mod/h5pactivity/tests/behat/reports.feature @@ -0,0 +1,39 @@ +@mod @mod_h5pactivity @core_h5p +Feature: Reporting information in the h5p activity + In order to let teachers view a report on the attempts made in the h5p activity + As a teacher + I can access the report page and see the attempts made by the students + + Background: + Given the following "users" exist: + | username | firstname | lastname | email | + | teacher1 | Teacher | 1 | teacher1@example.com | + | student1 | Student | 1 | student1@example.com | + | student2 | Student | 2 | student2@example.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 | + | student2 | C1 | student | + # This test is only about reporting, we don't need to specify any valid H5P file for it. + And the following "activity" exists: + | activity | h5pactivity | + | name | H5P package | + | intro | Test H5P description | + | course | C1 | + | idnumber | h5ppackage | + And the following "mod_h5pactivity > attempts" exist: + | user | h5pactivity | attempt | interactiontype | rawscore | maxscore | duration | completion | success | + | student1 | H5P package | 1 | compound | 2 | 2 | 4 | 1 | 1 | + | student2 | H5P package | 1 | choice | 2 | 2 | 4 | 1 | 1 | + | student1 | H5P package | 2 | compound | 2 | 2 | 4 | 1 | 1 | + + Scenario: Access the report page and check the label for the attempts and attempt headers + Given I am on the "H5P package" "h5pactivity activity" page logged in as teacher1 + When I navigate to "Attempts report" in current page administration + Then I should see "View (2)" in the "Student 1" "table_row" + And I should see "View (1)" in the "Student 2" "table_row" + And I should see "Attempts (3)" in the "table" "table"