From 0deddeed2ff7598a30e895fbbaf0464bb9d45a14 Mon Sep 17 00:00:00 2001 From: Mark Nelson Date: Mon, 30 Dec 2013 14:20:06 -0800 Subject: [PATCH] MDL-43332 core_grades: automated basic grade viewing functionality performed in MDLQA-317 --- grade/tests/behat/behat_grade.php | 49 +++++++++++++++++++++++++ grade/tests/behat/grade_view.feature | 55 ++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 grade/tests/behat/behat_grade.php create mode 100644 grade/tests/behat/grade_view.feature diff --git a/grade/tests/behat/behat_grade.php b/grade/tests/behat/behat_grade.php new file mode 100644 index 00000000000..19b1c3e62f9 --- /dev/null +++ b/grade/tests/behat/behat_grade.php @@ -0,0 +1,49 @@ +. + +/** + * Behat grade related steps definitions. + * + * @package core_grades + * @category test + * @copyright 2014 Mark Nelson + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +// NOTE: no MOODLE_INTERNAL test here, this file may be required by behat before including /config.php. + +require_once(__DIR__ . '/../../../lib/behat/behat_base.php'); + +use Behat\Behat\Context\Step\Given as Given; + +class behat_grade extends behat_base { + + /** + * Enters a grade via the gradebook for a specific grade item and user when viewing the 'Grader report' with editing mode turned on. + * + * @Given /^I give the grade "(?P(?:[^"]|\\")*)" to the user "(?P(?:[^"]|\\")*)" for the grade item "(?P(?:[^"]|\\")*)"$/ + * @param int $grade + * @param string $userfullname the user's fullname as returned by fullname() + * @param string $itemname + * @return Given + */ + public function i_give_the_grade($grade, $userfullname, $itemname) { + $gradelabel = $userfullname . ' ' . $itemname; + $fieldstr = get_string('useractivitygrade', 'gradereport_grader', $gradelabel); + + return new Given('I fill in "' . $this->escape($fieldstr) . '" with "' . $grade . '"'); + } +} diff --git a/grade/tests/behat/grade_view.feature b/grade/tests/behat/grade_view.feature new file mode 100644 index 00000000000..dd7d0bb9c3d --- /dev/null +++ b/grade/tests/behat/grade_view.feature @@ -0,0 +1,55 @@ +@core @core_grades +Feature: Viewing the gradebook + In order to check the expected results are displayed + As a teacher + I need to assign grades and check that they display correctly in the gradebook. + + @javascript + Scenario: Grade a grade item and ensure the results display correctly in the gradebook + Given the following "courses" exists: + | fullname | shortname | format | + | Course 1 | C1 | topics | + And the following "users" exists: + | username | firstname | lastname | email | + | teacher1 | Teacher | 1 | teacher1@asd.com | + | student1 | Student | 1 | student1@asd.com | + And the following "course enrolments" exists: + | 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 "Assignment" to section "1" and I fill the form with: + | Assignment name | Test assignment name | + | Description | Submit your online text | + | assignsubmission_onlinetext_enabled | 1 | + And I log out + And I log in as "student1" + And I follow "Course 1" + And I follow "Test assignment name" + When I press "Add submission" + And I fill the moodle form with: + | Online text | This is a submission | + And I press "Save changes" + Then I should see "Submitted for grading" + And I log out + And I log in as "teacher1" + And I follow "Course 1" + And I follow "Grades" + And I turn editing mode on + And I give the grade "80.00" to the user "Student 1" for the grade item "Test assignment name" + And I press "Update" + And I select "User report" from "Grade report" + And the "Grade report" select box should contain "Grader report" + And the "Grade report" select box should contain "Outcomes report" + And the "Grade report" select box should contain "User report" + And the "Select all or one user" select box should contain "All users (1)" + And I log out + And I log in as "student1" + And I follow "Course 1" + And I follow "Grades" + And I should see "80.00" in the "Test assignment name" "table_row" + And I select "Overview report" from "Grade report" + And I should see "80.00" in the "overview-grade" "table" +