mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 17:06:53 +02:00
MDL-63959 feedback: Adjust unit test for perf
This commit is contained in:
parent
30ac3bcfeb
commit
8e70179f4d
1 changed files with 20 additions and 33 deletions
|
@ -31,28 +31,6 @@ require_once($CFG->dirroot . '/mod/feedback/classes/completion.php');
|
|||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class mod_feedback_completion_testcase extends advanced_testcase {
|
||||
|
||||
/** @var stdClass Course of this testcase. */
|
||||
private $course;
|
||||
/** @var stdClass Feedback instance of this testcase. */
|
||||
private $feedback;
|
||||
/** @var stdClass Course module of the feedback instance. */
|
||||
private $cm;
|
||||
|
||||
/**
|
||||
* Set up for every test
|
||||
*/
|
||||
public function setUp() {
|
||||
$this->resetAfterTest();
|
||||
$this->setAdminUser();
|
||||
|
||||
// Setup test data.
|
||||
$this->course = $this->getDataGenerator()->create_course();
|
||||
$this->feedback = $this->getDataGenerator()->create_module('feedback',
|
||||
array('course' => $this->course->id));
|
||||
$this->cm = get_coursemodule_from_instance('feedback', $this->feedback->id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the number of pages with visible elements for the current state of the feedback completion.
|
||||
* @param mod_feedback_completion $completion
|
||||
|
@ -74,26 +52,35 @@ class mod_feedback_completion_testcase extends advanced_testcase {
|
|||
* @throws coding_exception
|
||||
*/
|
||||
public function test_get_pages() {
|
||||
$this->resetAfterTest();
|
||||
$this->setAdminUser();
|
||||
|
||||
// Setup test data.
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$feedback = $this->getDataGenerator()->create_module('feedback',
|
||||
array('course' => $course->id));
|
||||
$cm = get_coursemodule_from_instance('feedback', $feedback->id);
|
||||
|
||||
$feedbackgenerator = $this->getDataGenerator()->get_plugin_generator('mod_feedback');
|
||||
$itemscreated = [];
|
||||
|
||||
// Create at least one page.
|
||||
$itemscreated[] = $feedbackgenerator->create_item_multichoice($this->feedback,
|
||||
$itemscreated[] = $feedbackgenerator->create_item_multichoice($feedback,
|
||||
$record = ['values' => "y\nn"]);
|
||||
$itemscreated[] = $feedbackgenerator->create_item_pagebreak($this->feedback);
|
||||
$itemscreated[] = $feedbackgenerator->create_item_multichoice($this->feedback,
|
||||
$itemscreated[] = $feedbackgenerator->create_item_pagebreak($feedback);
|
||||
$itemscreated[] = $feedbackgenerator->create_item_multichoice($feedback,
|
||||
$record = ['values' => "y\nn", 'dependitem' => $itemscreated[0]->id, 'dependvalue' => 'n']);
|
||||
$itemscreated[] = $feedbackgenerator->create_item_pagebreak($this->feedback);
|
||||
$itemscreated[] = $feedbackgenerator->create_item_multichoice($this->feedback,
|
||||
$itemscreated[] = $feedbackgenerator->create_item_pagebreak($feedback);
|
||||
$itemscreated[] = $feedbackgenerator->create_item_multichoice($feedback,
|
||||
$record = ['values' => "y\nn", 'dependitem' => $itemscreated[0]->id, 'dependvalue' => 'y']);
|
||||
$itemscreated[] = $feedbackgenerator->create_item_pagebreak($this->feedback);
|
||||
$itemscreated[] = $feedbackgenerator->create_item_multichoice($this->feedback,
|
||||
$itemscreated[] = $feedbackgenerator->create_item_pagebreak($feedback);
|
||||
$itemscreated[] = $feedbackgenerator->create_item_multichoice($feedback,
|
||||
$record = ['values' => "y\nn", 'dependitem' => $itemscreated[2]->id, 'dependvalue' => 'y']);
|
||||
|
||||
// Test hiding item since transitive dependency is not met.
|
||||
// Answering the first multichoice with 'y', should hide the second and therefor also the fourth.
|
||||
$user1 = $this->getDataGenerator()->create_and_enrol($this->course);
|
||||
$completion = new mod_feedback_completion($this->feedback, $this->cm, $this->course,
|
||||
$user1 = $this->getDataGenerator()->create_and_enrol($course);
|
||||
$completion = new mod_feedback_completion($feedback, $cm, $course,
|
||||
false, null, $user1->id);
|
||||
|
||||
// Initially, all pages should be visible.
|
||||
|
@ -115,8 +102,8 @@ class mod_feedback_completion_testcase extends advanced_testcase {
|
|||
|
||||
// Test showing item since transitive dependency is met.
|
||||
// Answering the first multichoice with 'n' should hide the third multichoice.
|
||||
$user2 = $this->getDataGenerator()->create_and_enrol($this->course);
|
||||
$completion2 = new mod_feedback_completion($this->feedback, $this->cm, $this->course,
|
||||
$user2 = $this->getDataGenerator()->create_and_enrol($course);
|
||||
$completion2 = new mod_feedback_completion($feedback, $cm, $course,
|
||||
false, null, $user2->id);
|
||||
|
||||
// Initially, all pages should be visible.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue