first commit

This commit is contained in:
CHIEFSOFT\ameye
2024-09-30 18:11:26 -04:00
commit e592ca6823
27270 changed files with 5002257 additions and 0 deletions
@@ -0,0 +1,77 @@
@gradeexport @gradeexport_txt
Feature: I need to export grades as text
In order to easily review marks
As a teacher
I need to have a export grades as text
Background:
Given the following "courses" exist:
| fullname | shortname | category | groupmode |
| Course 1 | C1 | 0 | 1 |
And the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Teacher | 1 | teacher1@example.com |
| student1 | Student | 1 | student1@example.com |
And the following "course enrolments" exist:
| user | course | role |
| teacher1 | C1 | editingteacher |
| student1 | C1 | student |
And the following "activities" exist:
| activity | course | idnumber | name | intro | assignsubmission_onlinetext_enabled |
| assign | C1 | a1 | Test assignment name | Submit your online text | 1 |
| assign | C1 | a2 | Test assignment name 2 | Submit your online text | 1 |
And the following "grade grades" exist:
| gradeitem | user | grade |
| Test assignment name | student1 | 80.00 |
And I am on the "Course 1" "grades > Grader report > View" page logged in as "teacher1"
@javascript
Scenario: Export grades as text
When I navigate to "Plain text file" export page in the course gradebook
And I expand all fieldsets
And I click on "Course total" "checkbox"
And I set the field "Grade export decimal places" to "1"
And I press "Download"
Then I should see "Student,1"
And I should see "80.0"
And I should not see "Course total"
And I should not see "80.00"
@javascript
Scenario: Export grades as text using real
When I navigate to "Plain text file" export page in the course gradebook
And I expand all fieldsets
And I set the following fields to these values:
| Real | 1 |
And I click on "Course total" "checkbox"
And I press "Download"
Then I should see "Student,1"
And I should see "80.00"
@javascript
Scenario: Export grades as text using percentages and letters
When I navigate to "Plain text file" export page in the course gradebook
And I set the following fields to these values:
| Percentage | 1 |
| Letter | 1 |
And I press "Download"
Then I should see "Student,1"
And I should see "80.00 %"
And I should see "B-"
And I should not see "40.00 %"
And I should not see ",F,"
@javascript
Scenario: Export grades as text using real, percentages and letters
When I navigate to "Plain text file" export page in the course gradebook
And I set the following fields to these values:
| Real | 1 |
| Percentage | 1 |
| Letter | 1 |
And I press "Download"
Then I should see "Student,1"
And I should see "80.00"
And I should see "80.00 %"
And I should see "B-"
And I should not see "40.00 %"
And I should not see ",F,"
@@ -0,0 +1,57 @@
<?php
// 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/>.
namespace gradeexport_txt\event;
/**
* TXT grade export events test cases.
*
* @package gradeexport_txt
* @copyright 2016 Zane Karl zkarl@oid.ucla.edu
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class events_test extends \advanced_testcase {
/**
* Setup is called before calling test case.
*/
public function setUp(): void {
$this->resetAfterTest();
}
/**
* Test course_module_instance_list_viewed event.
*/
public function test_logging(): void {
// There is no proper API to call to trigger this event, so what we are
// doing here is simply making sure that the events returns the right information.
$course = $this->getDataGenerator()->create_course();
$params = array(
'context' => \context_course::instance($course->id)
);
$event = \gradeexport_txt\event\grade_exported::create($params);
// Triggering and capturing the event.
$sink = $this->redirectEvents();
$event->trigger();
$events = $sink->get_events();
$this->assertCount(1, $events);
$event = reset($events);
// Checking that the event contains the expected values.
$this->assertInstanceOf('\gradeexport_txt\event\grade_exported', $event);
$this->assertEquals(\context_course::instance($course->id), $event->get_context());
$this->assertEquals('txt', $event->get_export_type());
}
}