diff --git a/classes/log/store.php b/classes/log/store.php index a4984965d1063750121334deac62903a7a598015..52c9e2bfa49c83d75de7af28a9dd2d2254d7f759 100644 --- a/classes/log/store.php +++ b/classes/log/store.php @@ -95,22 +95,19 @@ class store extends php_obj implements log_writer { $translatorcontroller = new translator_controller(); // Emits events to other APIs. - foreach ($events as $event) { - $event = (array) $event; - $this->error_log(''); - $this->error_log_value('event', $event); - $moodleevent = $moodlecontroller->createEvent($event); - if (is_null($moodleevent)) { - continue; - } - $this->error_log_value('moodleevent', $moodleevent); - $translatorevents = $translatorcontroller->createEvents($moodleevent); - $this->error_log_value('translatorevents', $translatorevents); - foreach ($translatorevents as $index => $translatorevent) { - $xapievent = $xapicontroller->createEvent($translatorevent); - $this->error_log_value('xapievent', $xapievent); - } + foreach ($events as $index => $event) { + $events[$index] = (array) $event; } + + $this->error_log(''); + $this->error_log_value('events', $events); + $moodleevents = $moodlecontroller->createEvents($events); + $this->error_log_value('moodleevent', $moodleevents); + $translatorevents = $translatorcontroller->createEvents($moodleevents); + $this->error_log_value('translatorevents', $translatorevents); + $xapievents = $xapicontroller->createEvents($translatorevents); + $this->error_log_value('xapievents', $xapievents); + } private function error_log_value($key, $value) { diff --git a/tests/TestCase.php b/tests/TestCase.php index 78b0d3940ce0049a91b4a9f6423529ec179b87bb..94c58c53734e3f94ba971529adaf678b75f43edb 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -29,20 +29,22 @@ abstract class TestCase extends PhpUnitTestCase { public function testCreateEvent() { $input = $this->constructInput(); - $moodle_event = $this->moodle_controller->createEvent($input); - $this->assertTrue($moodle_event != null, 'Check that the event exists in the expander controller.'); + $moodle_events = $this->moodle_controller->createEvents([$input]); + $this->assertNotNull($moodle_events, 'Check that the event exists in the expander controller.'); - $translator_event = $this->translator_controller->createEvent($moodle_event); - $this->assertTrue($translator_event != null, 'Check that the event exists in the translator controller.'); + $translator_events = $this->translator_controller->createEvents($moodle_events); + $this->assertNotNull($translator_events, 'Check that the event exists in the translator controller.'); - $xapi_event = $this->xapi_controller->createEvent($translator_event); - $this->assertTrue($xapi_event != null, 'Check that the event exists in the emitter controller.'); + $xapi_events = $this->xapi_controller->createEvents($translator_events); + $this->assertNotNull($xapi_events, 'Check that the event exists in the emitter controller.'); - $this->assertOutput($input, $xapi_event); + $this->assertOutput($input, $xapi_events); } protected function assertOutput($input, $output) { - $this->assertValidXapiStatement((new TinCanStatement($output))->asVersion('1.0.0')); + foreach ($output as $outputpart) { + $this->assertValidXapiStatement((new TinCanStatement($outputpart))->asVersion('1.0.0')); + } } protected function assertValidXapiStatement($output) {