Example #1
0
 /**
  * Test submission_is_empty
  *
  * @dataProvider submission_is_empty_testcases
  * @param string $submissiontext The online text submission text
  * @param bool $expected The expected return value
  */
 public function test_submission_is_empty($submissiontext, $expected)
 {
     $this->resetAfterTest();
     $plugin = $this->assign->get_submission_plugin_by_type('onlinetext');
     $data = new stdClass();
     $data->onlinetext_editor = ['text' => $submissiontext];
     $result = $plugin->submission_is_empty($data);
     $this->assertTrue($result === $expected);
 }
Example #2
0
 /**
  * Test submission_is_empty
  *
  * @dataProvider submission_is_empty_testcases
  * @param string $data The file submission data
  * @param bool $expected The expected return value
  */
 public function test_submission_is_empty($data, $expected)
 {
     $this->resetAfterTest();
     $itemid = file_get_unused_draft_itemid();
     $submission = (object) ['files_filemanager' => $itemid];
     $plugin = $this->assign->get_submission_plugin_by_type('file');
     if ($data) {
         $data += ['contextid' => context_user::instance($this->user->id)->id, 'itemid' => $itemid];
         $fs = get_file_storage();
         $fs->create_file_from_string((object) $data, 'Content of ' . $data['filename']);
     }
     $result = $plugin->submission_is_empty($submission);
     $this->assertTrue($result === $expected);
 }
Example #3
0
 /**
  * Test that the submission_updated event is fired when an onlinetext
  * submission is saved and an existing submission already exists.
  */
 public function test_submission_updated()
 {
     $this->resetAfterTest();
     $plugin = $this->assign->get_submission_plugin_by_type('onlinetext');
     $sink = $this->redirectEvents();
     // Create a submission.
     $plugin->save($this->submission, $this->data);
     // Update a submission.
     $plugin->save($this->submission, $this->data);
     $events = $sink->get_events();
     $this->assertCount(4, $events);
     $event = $events[3];
     $this->assertInstanceOf('\\assignsubmission_onlinetext\\event\\submission_updated', $event);
     $this->assertEquals($this->context->id, $event->contextid);
     $this->assertEquals($this->course->id, $event->courseid);
     $this->assertEquals($this->submission->id, $event->other['submissionid']);
     $this->assertEquals($this->submission->attemptnumber, $event->other['submissionattempt']);
     $this->assertEquals($this->submission->status, $event->other['submissionstatus']);
     $this->assertEquals($this->submission->userid, $event->relateduserid);
 }
 /**
  * Test that the submission_updated event is fired when a file submission is saved when an existing submission already exists.
  */
 public function test_submission_updated()
 {
     $this->resetAfterTest();
     $data = new stdClass();
     $plugin = $this->sepl->get_submission_plugin_by_type('file');
     $sink = $this->redirectEvents();
     // Create a submission.
     $plugin->save($this->submission, $data);
     // Update a submission.
     $plugin->save($this->submission, $data);
     $events = $sink->get_events();
     $this->assertCount(4, $events);
     // We want to test the last event fired.
     $event = $events[3];
     $this->assertInstanceOf('\\seplsubmission_file\\event\\submission_updated', $event);
     $this->assertEquals($this->context->id, $event->contextid);
     $this->assertEquals($this->course->id, $event->courseid);
     $this->assertEquals($this->submission->id, $event->other['submissionid']);
     $this->assertEquals($this->submission->attemptnumber, $event->other['submissionattempt']);
     $this->assertEquals($this->submission->status, $event->other['submissionstatus']);
     $this->assertEquals($this->submission->userid, $event->relateduserid);
 }