Example #1
0
 /**
  * Test view_course function
  */
 public function test_view_course()
 {
     $this->resetAfterTest();
     // Course without sections.
     $course = $this->getDataGenerator()->create_course(array('numsections' => 5), array('createsections' => true));
     $this->setAdminUser();
     // Redirect events to the sink, so we can recover them later.
     $sink = $this->redirectEvents();
     $result = core_course_external::view_course($course->id, 1);
     $result = external_api::clean_returnvalue(core_course_external::view_course_returns(), $result);
     $events = $sink->get_events();
     $event = reset($events);
     // Check the event details are correct.
     $this->assertInstanceOf('\\core\\event\\course_viewed', $event);
     $this->assertEquals(context_course::instance($course->id), $event->get_context());
     $this->assertEquals(1, $event->other['coursesectionnumber']);
     $result = core_course_external::view_course($course->id);
     $result = external_api::clean_returnvalue(core_course_external::view_course_returns(), $result);
     $events = $sink->get_events();
     $event = array_pop($events);
     $sink->close();
     // Check the event details are correct.
     $this->assertInstanceOf('\\core\\event\\course_viewed', $event);
     $this->assertEquals(context_course::instance($course->id), $event->get_context());
     $this->assertEmpty($event->other);
 }