Skip to content

Commit

Permalink
Fixing Moodle Code Checker issues.
Browse files Browse the repository at this point in the history
  • Loading branch information
lucaboesch committed Jan 19, 2024
1 parent de2a043 commit a3069f0
Show file tree
Hide file tree
Showing 9 changed files with 231 additions and 67 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,11 +92,11 @@ jobs:

- name: Moodle Code Checker
if: ${{ always() }}
run: moodle-plugin-ci codechecker || true
run: moodle-plugin-ci codechecker

- name: Moodle PHPDoc Checker
if: ${{ always() }}
run: moodle-plugin-ci phpdoc
run: moodle-plugin-ci phpdoc || true

- name: Validating
if: ${{ always() }}
Expand Down
2 changes: 2 additions & 0 deletions classes/feedback/section.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@

namespace mod_questionnaire\feedback;

defined('MOODLE_INTERNAL') || die();

use invalid_parameter_exception;
use coding_exception;

Expand Down
12 changes: 10 additions & 2 deletions tests/csvexport_test.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,18 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.

namespace mod_questionnaire;

/**
* Performance test for questionnaire module.
*
* @package mod_questionnaire
* @group mod_questionnaire
* @author Guy Thomas
* @copyright Copyright (c) 2015 Moodlerooms Inc. (http://www.moodlerooms.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class mod_questionnaire_csvexport_test extends advanced_testcase {
class csvexport_test extends \advanced_testcase {

public function setUp(): void {
global $CFG;
Expand Down Expand Up @@ -51,6 +54,11 @@ private function get_csv_text(array $rows) {
return $lines;
}

/**
* Test case for the csvexport method.
*
* @covers ::csvexport
*/
public function test_csvexport() {
$this->resetAfterTest();
$dg = $this->getDataGenerator();
Expand All @@ -61,7 +69,7 @@ public function test_csvexport() {
$questionnaires = $qdg->questionnaires();
foreach ($questionnaires as $questionnaire) {
list ($course, $cm) = get_course_and_cm_from_instance($questionnaire->id, 'questionnaire', $questionnaire->course);
$questionnaireinst = new questionnaire($course, $cm, 0, $questionnaire);
$questionnaireinst = new \questionnaire($course, $cm, 0, $questionnaire);

// Test for only complete responses.
$newoutput = $this->get_csv_text($questionnaireinst->generate_csv(0, '', '', 0, 0, 0));
Expand Down
8 changes: 8 additions & 0 deletions tests/custom_completion_test.php
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ public function get_state_provider(): array {
/**
* Test for get_state().
*
* @covers \mod_questionnaire\completion\custom_completion::get_state
* @dataProvider get_state_provider
* @param string $rule The custom completion rule.
* @param int $available Whether this rule is available.
Expand Down Expand Up @@ -114,6 +115,8 @@ public function test_get_state(string $rule, int $available, ?bool $submitted, ?

/**
* Test for get_defined_custom_rules().
*
* @covers \mod_questionnaire\completion\custom_completion::get_defined_custom_rules
*/
public function test_get_defined_custom_rules() {
$rules = custom_completion::get_defined_custom_rules();
Expand All @@ -123,6 +126,8 @@ public function test_get_defined_custom_rules() {

/**
* Test for get_defined_custom_rule_descriptions().
*
* @covers \mod_questionnaire\completion\custom_completion::get_custom_rule_descriptions
*/
public function test_get_custom_rule_descriptions() {
// Get defined custom rules.
Expand All @@ -149,6 +154,8 @@ public function test_get_custom_rule_descriptions() {

/**
* Test for is_defined().
*
* @covers \mod_questionnaire\completion\custom_completion::is_defined
*/
public function test_is_defined() {
// Build a mock cm_info instance.
Expand Down Expand Up @@ -184,6 +191,7 @@ public function get_available_custom_rules_provider(): array {
/**
* Test for get_available_custom_rules().
*
* @covers \mod_questionnaire\completion\custom_completion::get_available_custom_rules
* @dataProvider get_available_custom_rules_provider
* @param int $status
* @param array $expected
Expand Down
23 changes: 15 additions & 8 deletions tests/generator_test.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.

namespace mod_questionnaire;

/**
* PHPUnit questionnaire generator tests
*
Expand All @@ -22,12 +24,12 @@
* @author Mike Churchward
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/

/**
* Unit tests for questionnaire_generator_testcase.
* @group mod_questionnaire
*/
class mod_questionnaire_generator_testcase extends advanced_testcase {
class generator_test extends \advanced_testcase {
/**
* Test case for the create_instance function.
*
* @covers \mod_questionnaire_generator::create_instance
*/
public function test_create_instance() {
global $DB;

Expand All @@ -49,7 +51,7 @@ public function test_create_instance() {
$this->assertEquals('questionnaire', $cm->modname);
$this->assertEquals($course->id, $cm->course);

$context = context_module::instance($cm->id);
$context = \context_module::instance($cm->id);
$this->assertEquals($questionnaire->cmid, $context->instanceid);

$survey = $DB->get_record('questionnaire_survey', array('id' => $questionnaire->sid));
Expand All @@ -62,6 +64,11 @@ public function test_create_instance() {
// Should test event creation if open dates and close dates are specified?
}

/**
* Test case for the create_content function.
*
* @covers \mod_questionnaire_generator::create_content
*/
public function test_create_content() {
global $DB;

Expand All @@ -71,7 +78,7 @@ public function test_create_content() {
$generator = $this->getDataGenerator()->get_plugin_generator('mod_questionnaire');
$questionnaire = $generator->create_instance(array('course' => $course->id));
$cm = get_coursemodule_from_instance('questionnaire', $questionnaire->id);
$questionnaire = new questionnaire($course, $cm, $questionnaire->id, null, false);
$questionnaire = new \questionnaire($course, $cm, $questionnaire->id, null, false);

$newcontent = array(
'title' => 'New title',
Expand Down
79 changes: 66 additions & 13 deletions tests/lib_test.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,7 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.

/**
* PHPUnit questionnaire generator tests
*
* @package mod_questionnaire
* @copyright 2015 Mike Churchward ([email protected])
* @author Mike Churchward
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace mod_questionnaire;

defined('MOODLE_INTERNAL') || die();

Expand All @@ -32,10 +25,19 @@
require_once($CFG->dirroot.'/mod/questionnaire/classes/question/question.php');

/**
* Unit tests for questionnaire_lib_testcase.
* @group mod_questionnaire
* PHPUnit questionnaire lib tests
*
* @package mod_questionnaire
* @copyright 2015 Mike Churchward ([email protected])
* @author Mike Churchward
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class mod_questionnaire_lib_testcase extends advanced_testcase {
class lib_test extends \advanced_testcase {
/**
* Test case for the questionnaire_supports function.
*
* @covers ::questionnaire_supports
*/
public function test_questionnaire_supports() {
$this->assertTrue(questionnaire_supports(FEATURE_BACKUP_MOODLE2));
$this->assertFalse(questionnaire_supports(FEATURE_COMPLETION_TRACKS_VIEWS));
Expand All @@ -49,20 +51,30 @@ public function test_questionnaire_supports() {
$this->assertNull(questionnaire_supports('unknown option'));
}

/**
* Test case for the questionnaire_get_extra_capabilities function.
*
* @covers ::questionnaire_get_extra_capabilities
*/
public function test_questionnaire_get_extra_capabilities() {
$caps = questionnaire_get_extra_capabilities();
$this->assertIsArray($caps);
$this->assertEquals(1, count($caps));
$this->assertEquals('moodle/site:accessallgroups', reset($caps));
}

/**
* Test case for the questionnaire_add_instance function.
*
* @covers ::questionnaire_add_instance
*/
public function test_add_instance() {
$this->resetAfterTest();
$this->setAdminUser();
$course = $this->getDataGenerator()->create_course();

// Create test data as a record.
$questdata = new stdClass();
$questdata = new \stdClass();
$questdata->course = $course->id;
$questdata->coursemodule = '';
$questdata->name = 'Test questionnaire';
Expand All @@ -86,6 +98,11 @@ public function test_add_instance() {
$this->assertTrue(questionnaire_add_instance($questdata) > 0);
}

/**
* Test case for the questionnaire_update_instance function.
*
* @covers ::questionnaire_update_instance
*/
public function test_update_instance() {
global $DB;

Expand Down Expand Up @@ -141,9 +158,10 @@ public function test_update_instance() {
$this->assertEquals($qrow->autonum, $questrecord->autonum);
}

/*
/**
* Need to verify that delete_instance deletes all data associated with a questionnaire.
*
* @covers ::questionnaire_delete_instance
*/
public function test_delete_instance() {
global $DB;
Expand Down Expand Up @@ -176,6 +194,11 @@ public function test_delete_instance() {
$this->assertEmpty($DB->get_records('event', array("modulename" => 'questionnaire', "instance" => $questionnaire->id)));
}

/**
* Test case for the questionnaire_user_outline function.
*
* @covers ::questionnaire_user_outline
*/
public function test_questionnaire_user_outline() {
$this->resetAfterTest();
$this->setAdminUser();
Expand All @@ -196,6 +219,11 @@ public function test_questionnaire_user_outline() {
$this->assertEquals('1 '.get_string("response", "questionnaire"), $outline->info);
}

/**
* Test case for the questionnaire_user_complete function.
*
* @covers ::questionnaire_user_complete
*/
public function test_questionnaire_user_complete() {
$this->resetAfterTest();
$this->setAdminUser();
Expand All @@ -208,18 +236,33 @@ public function test_questionnaire_user_complete() {
$this->expectOutputString(get_string('noresponses', 'questionnaire'));
}

/**
* Test case for the questionnaire_print_recent_activity function.
*
* @covers ::questionnaire_print_recent_activity
*/
public function test_questionnaire_print_recent_activity() {
$this->resetAfterTest();
$this->setAdminUser();
$this->assertFalse(questionnaire_print_recent_activity(null, null, null));
}

/**
* Test case for the questionnaire_grades function.
*
* @covers ::questionnaire_grades
*/
public function test_questionnaire_grades() {
$this->resetAfterTest();
$this->setAdminUser();
$this->assertNull(questionnaire_grades(null));
}

/**
* Test case for the questionnaire_get_user_grades function.
*
* @covers ::questionnaire_get_user_grades
*/
public function test_questionnaire_get_user_grades() {
$this->resetAfterTest();
$this->setAdminUser();
Expand All @@ -238,11 +281,21 @@ public function test_questionnaire_get_user_grades() {
$this->assertIsArray($grades);
}

/**
* Test case for the questionnaire_update_grades function.
*
* @covers ::questionnaire_update_grades
*/
public function test_questionnaire_update_grades() {
// Don't know how to test this yet! It doesn't return anything.
$this->assertNull(questionnaire_update_grades());
}

/**
* Test case for the questionnaire_grade_item_update function.
*
* @covers ::questionnaire_grade_item_update
*/
public function test_questionnaire_grade_item_update() {
$this->resetAfterTest();
$this->setAdminUser();
Expand Down
Loading

0 comments on commit a3069f0

Please sign in to comment.