Skip to content

Commit

Permalink
MDL-52828 competencies: Breakdown report
Browse files Browse the repository at this point in the history
Add behat test for the breakdown report, including the activity filter.
  • Loading branch information
Damyon Wiese committed May 1, 2019
1 parent 27737ae commit fde4592
Show file tree
Hide file tree
Showing 4 changed files with 113 additions and 0 deletions.
4 changes: 4 additions & 0 deletions report/competency/classes/output/user_course_navigation.php
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,10 @@ public function export_for_template(renderer_base $output) {
$data->userid = $this->userid;
$data->courseid = $this->courseid;
$data->moduleid = $this->moduleid;
if (empty($data->moduleid)) {
// Moduleid is optional.
$data->moduleid = 0;
}
$data->baseurl = $this->baseurl;
$data->groupselector = '';

Expand Down
24 changes: 24 additions & 0 deletions report/competency/templates/report.mustache
Original file line number Diff line number Diff line change
@@ -1,3 +1,27 @@
{{!
This file is part of Moodle - http://moodle.org/
Moodle is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Moodle is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
}}
{{!
@template report_competency/report
Moodle template competency breakdown report.
Example context (json):
{ "pushratingstouserplans": false, "usercompetencies": []}
}}
<div data-region="competency-breakdown-report" data-courseid="{{course.id}}" data-userid="{{user.id}}" data-moduleid="{{moduleid}}">
<div data-region="configurecoursecompetencies">
{{#pushratingstouserplans}}
Expand Down
24 changes: 24 additions & 0 deletions report/competency/templates/user_course_navigation.mustache
Original file line number Diff line number Diff line change
@@ -1,3 +1,27 @@
{{!
This file is part of Moodle - http://moodle.org/
Moodle is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Moodle is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
}}
{{!
@template report_competency/user_course_navigation
Moodle navigation control allowing to jump to a user or filter to an activity.
Example context (json):
{ "hasusers": false, "hasmodules": false}
}}
<div class="float-right card p-x-1 p-b-1">
<p>{{{groupselector}}}</p>
<form class="user-competency-course-navigation">
Expand Down
61 changes: 61 additions & 0 deletions report/competency/tests/behat/breakdown_by_activity.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
@report @javascript @report_competency
Feature: See the competencies for an activity
As a competency grader
In order to perform mark all competencies for an activity
I need to see the competencies linked to one activity in the breakdown report.

Background:
Given the following lp "frameworks" exist:
| shortname | idnumber |
| Test-Framework | ID-FW1 |
And the following lp "competencies" exist:
| shortname | framework |
| Test-Comp1 | ID-FW1 |
| Test-Comp2 | ID-FW1 |
Given the following "courses" exist:
| shortname | fullname |
| C1 | Course 1 |
And the following "users" exist:
| username | firstname | lastname | email |
| student1 | Student | 1 | student1@example.com |
And the following "course enrolments" exist:
| user | course | role |
| student1 | C1 | student |
And the following "activities" exist:
| activity | name | intro | course | idnumber |
| page | PageName1 | PageDesc1 | C1 | PAGE1 |
And I log in as "admin"
And I am on site homepage
And I follow "Course 1"
And I follow "Competencies"
And I press "Add competencies to course"
And "Competency picker" "dialogue" should be visible
And I select "Test-Comp1" of the competency tree
And I click on "Add" "button" in the "Competency picker" "dialogue"
And I press "Add competencies to course"
And "Competency picker" "dialogue" should be visible
And I select "Test-Comp2" of the competency tree
And I click on "Add" "button" in the "Competency picker" "dialogue"
And I am on "Course 1" course homepage
And I follow "PageName1"
And I navigate to "Edit settings" in current page administration
And I follow "Expand all"
And I set the field "Course competencies" to "Test-Comp1"
And I press "Save and return to course"

@javascript
Scenario: Go to the competency breakdown report
When I navigate to "Reports > Competency breakdown" in current page administration
And I set the field "Filter competencies by resource or activity" to "PageName1"
And I press key "13" in the field "Filter competencies by resource or activity"
Then I should see "Test-Comp1"
And I should not see "Test-Comp2"
And I click on "Not rated" "link"
And I click on "Rate" "button"
And I set the field "Rating" to "A"
And I click on "Rate" "button" in the ".competency-grader" "css_element"
And I click on "Close" "button"
And I set the field "Filter competencies by resource or activity" to "No filters applied"
And I press key "13" in the field "Filter competencies by resource or activity"
And I should see "Test-Comp1"
And I should see "Test-Comp2"

0 comments on commit fde4592

Please sign in to comment.