Skip to content

Commit

Permalink
MDL-52999 mod_assign: New unit tests for subplugins
Browse files Browse the repository at this point in the history
  • Loading branch information
jleyva committed Feb 9, 2016
1 parent 69115a5 commit 7cc2106
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions mod/assign/tests/externallib_test.php
Expand Up @@ -1555,4 +1555,47 @@ public function test_view_grading_table() {

}

/**
* Test subplugins availability
*/
public function test_subplugins_availability() {
global $CFG;

require_once($CFG->dirroot . '/mod/assign/adminlib.php');
$this->resetAfterTest(true);

// Hide assignment file submissiong plugin.
$pluginmanager = new assign_plugin_manager('assignsubmission');
$pluginmanager->hide_plugin('file');
$parameters = mod_assign_external::save_submission_parameters();

$this->assertTrue(!isset($parameters->keys['plugindata']->keys['files_filemanager']));

// Show it again and check that the value is returned as optional.
$pluginmanager->show_plugin('file');
$parameters = mod_assign_external::save_submission_parameters();
$this->assertTrue(isset($parameters->keys['plugindata']->keys['files_filemanager']));
$this->assertEquals(VALUE_OPTIONAL, $parameters->keys['plugindata']->keys['files_filemanager']->required);

// Hide feedback file submissiong plugin.
$pluginmanager = new assign_plugin_manager('assignfeedback');
$pluginmanager->hide_plugin('file');

$parameters = mod_assign_external::save_grade_parameters();

$this->assertTrue(!isset($parameters->keys['plugindata']->keys['files_filemanager']));

// Show it again and check that the value is returned as optional.
$pluginmanager->show_plugin('file');
$parameters = mod_assign_external::save_grade_parameters();

$this->assertTrue(isset($parameters->keys['plugindata']->keys['files_filemanager']));
$this->assertEquals(VALUE_OPTIONAL, $parameters->keys['plugindata']->keys['files_filemanager']->required);

// Check a different one.
$pluginmanager->show_plugin('comments');
$this->assertTrue(isset($parameters->keys['plugindata']->keys['assignfeedbackcomments_editor']));
$this->assertEquals(VALUE_OPTIONAL, $parameters->keys['plugindata']->keys['assignfeedbackcomments_editor']->required);
}

}

0 comments on commit 7cc2106

Please sign in to comment.