diff --git a/src/transformer/events/mod_lesson/lesson_ended.php b/src/transformer/events/mod_lesson/lesson_ended.php index 177eb70c1..6c638be39 100644 --- a/src/transformer/events/mod_lesson/lesson_ended.php +++ b/src/transformer/events/mod_lesson/lesson_ended.php @@ -46,7 +46,7 @@ function lesson_ended(array $config, \stdClass $event) { 'verb' => [ 'id' => 'http://adlnet.gov/expapi/verbs/completed', 'display' => [ - $lang => 'Completed' + 'en' => 'Completed' ], ], 'result' => utils\get_lesson_result( diff --git a/src/transformer/events/mod_lesson/lesson_restarted.php b/src/transformer/events/mod_lesson/lesson_restarted.php index 758d6c9d8..1d965bb68 100644 --- a/src/transformer/events/mod_lesson/lesson_restarted.php +++ b/src/transformer/events/mod_lesson/lesson_restarted.php @@ -46,7 +46,7 @@ function lesson_restarted(array $config, \stdClass $event) { 'verb' => [ 'id' => 'https://xapi.edlm/profiles/edlm-lms/concepts/verbs/restarted', 'display' => [ - $lang => 'Restarted' + 'en' => 'Restarted' ], ], 'object' => utils\get_activity\lesson( diff --git a/src/transformer/events/mod_lesson/lesson_resumed.php b/src/transformer/events/mod_lesson/lesson_resumed.php index c51e6bfeb..72dd14047 100644 --- a/src/transformer/events/mod_lesson/lesson_resumed.php +++ b/src/transformer/events/mod_lesson/lesson_resumed.php @@ -46,7 +46,7 @@ function lesson_resumed(array $config, \stdClass $event) { 'verb' => [ 'id' => 'https://w3id.org/xapi/tla/verbs/resumed', 'display' => [ - $lang => 'Resumed' + 'en' => 'Resumed' ], ], 'object' => utils\get_activity\lesson( diff --git a/src/transformer/events/mod_lesson/lesson_started.php b/src/transformer/events/mod_lesson/lesson_started.php index 5cdb9f14f..2ba00bae1 100644 --- a/src/transformer/events/mod_lesson/lesson_started.php +++ b/src/transformer/events/mod_lesson/lesson_started.php @@ -46,7 +46,7 @@ function lesson_started(array $config, \stdClass $event) { 'verb' => [ 'id' => 'http://activitystrea.ms/start', 'display' => [ - $lang => 'Started' + 'en' => 'Started' ], ], 'object' => utils\get_activity\lesson( diff --git a/src/transformer/get_event_function_map.php b/src/transformer/get_event_function_map.php index 8d3b4b7de..b7705a598 100644 --- a/src/transformer/get_event_function_map.php +++ b/src/transformer/get_event_function_map.php @@ -119,8 +119,7 @@ function get_event_function_map() { '\mod_lesson\event\lesson_started' => 'mod_lesson\lesson_started', '\mod_lesson\event\lesson_resumed' => 'mod_lesson\lesson_resumed', '\mod_lesson\event\lesson_restarted' => 'mod_lesson\lesson_restarted', - - '\mod_lesson\event\lesson_ended' => 'mod_lesson\lesson_ended', #db for score stuff + '\mod_lesson\event\lesson_ended' => 'mod_lesson\lesson_ended', '\mod_lesson\event\essay_assessed' => 'debug\debug_event', #works '\mod_lesson\event\question_answered' => 'debug\debug_event', #works diff --git a/tests/mod_lesson/lesson_ended/data.json b/tests/mod_lesson/lesson_ended/data.json new file mode 100644 index 000000000..7f2bee151 --- /dev/null +++ b/tests/mod_lesson/lesson_ended/data.json @@ -0,0 +1,33 @@ +{ + "modules": [ + { + "id": 1, + "name": "lesson" + } + ], + "lesson": [ + { + "id": 1, + "name": "test_lesson", + "intro": "test_lesson_intro" + } + ], + "grade_items": [ + { + "id": 1, + "itemmodule": "lesson", + "iteminstance": 1, + "gradepass": 50 + } + ], + "grade_grades": [ + { + "itemid": 1, + "userid": 1, + "timemodified": 1731595610, + "rawgrademin": 0, + "rawgrademax": 100, + "rawgrade": 75 + } + ] +} diff --git a/tests/mod_lesson/lesson_ended/event.json b/tests/mod_lesson/lesson_ended/event.json new file mode 100644 index 000000000..5745124cc --- /dev/null +++ b/tests/mod_lesson/lesson_ended/event.json @@ -0,0 +1,10 @@ +{ + "id": 1, + "userid": 1, + "courseid": 1, + "timecreated": 1433946701, + "objecttable": "lesson", + "objectid": 1, + "contextinstanceid": 1, + "eventname": "\\mod_lesson\\event\\lesson_ended" +} diff --git a/tests/mod_lesson/lesson_ended/lesson_ended_test.php b/tests/mod_lesson/lesson_ended/lesson_ended_test.php new file mode 100644 index 000000000..f6a87c421 --- /dev/null +++ b/tests/mod_lesson/lesson_ended/lesson_ended_test.php @@ -0,0 +1,70 @@ +. + +namespace logstore_xapi\mod_lesson; + +defined('MOODLE_INTERNAL') || die(); + +global $CFG; + +require_once($CFG->dirroot . '/admin/tool/log/store/xapi/tests/xapi_test_case.php'); + +/** + * Unit test for mod_lesson lesson ended. + * + * @package logstore_xapi + * @copyright Cliff Casey + * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class lesson_ended_test extends \logstore_xapi\xapi_test_case { + + /** + * Retrieve the directory of the unit test. + * + * @return string + */ + protected function get_test_dir() { + return __DIR__; + } + + /** + * Retrieve the plugin type being tested. + * + * @return string + */ + protected function get_plugin_type() { + return "mod"; + } + + /** + * Retrieve the plugin name being tested. + * + * @return string + */ + protected function get_plugin_name() { + return "glossary"; + } + + /** + * Appease auto-detecting of test cases. xapi_test_case has default test cases. + * + * @covers ::lesson_ended + * @return void + */ + public function test_init() { + + } +} diff --git a/tests/mod_lesson/lesson_ended/statements.json b/tests/mod_lesson/lesson_ended/statements.json new file mode 100644 index 000000000..6f566de8c --- /dev/null +++ b/tests/mod_lesson/lesson_ended/statements.json @@ -0,0 +1,93 @@ +[ + { + "actor": { + "name": "test_fullname", + "account": { + "homePage": "http://www.example.org", + "name": "1" + } + }, + "verb": { + "id": "http://adlnet.gov/expapi/verbs/completed", + "display": { + "en": "Completed" + } + }, + "object": { + "id": "http://www.example.org/mod/lesson/view.php?id=1#lesson", + "definition": { + "type": "http://adlnet.gov/expapi/activities/lesson", + "name": { + "en": "test_lesson" + }, + "description": { + "en": "test_lesson_intro" + } + } + }, + "result": { + "completion": true, + "success": true, + "score": { + "min": 0, + "max": 100, + "raw": 75, + "scaled": 0.5 + } + }, + "context": { + "language": "en", + "extensions": { + "http://lrs.learninglocker.net/define/extensions/info": { + "http://moodle.org": "1.0.0", + "https://github.com/xAPI-vle/moodle-logstore_xapi": "0.0.0-development", + "event_name": "\\mod_lesson\\event\\lesson_ended", + "event_function": "\\src\\transformer\\events\\mod_lesson\\lesson_ended" + } + }, + "contextActivities": { + "parent": [ + { + "id": "http://www.example.org/mod/lesson/view.php?id=1", + "definition": { + "type": "http://adlnet.gov/expapi/activities/lesson", + "name": { + "en": "test_lesson" + } + } + }, + { + "id": "http://www.example.org/course/section.php?id=1", + "objectType": "Activity", + "definition": { + "name": { + "en": "test_name Section 0" + }, + "type": "http://id.tincanapi.com/activitytype/section" + } + }, + { + "id": "http://www.example.org/course/view.php?id=1", + "definition": { + "type": "https://w3id.org/xapi/cmi5/activitytype/course", + "name": { + "en": "test_name" + } + } + } + ], + "category": [ + { + "id": "http://www.example.org", + "definition": { + "type": "http://id.tincanapi.com/activitytype/lms", + "name": { + "en": "test_name" + } + } + } + ] + } + } + } +] diff --git a/tests/mod_lesson/lesson_restarted/data.json b/tests/mod_lesson/lesson_restarted/data.json new file mode 100644 index 000000000..ae34a1414 --- /dev/null +++ b/tests/mod_lesson/lesson_restarted/data.json @@ -0,0 +1,15 @@ +{ + "modules": [ + { + "id": 1, + "name": "lesson" + } + ], + "lesson": [ + { + "id": 1, + "name": "test_lesson", + "intro": "test_lesson_intro" + } + ] +} diff --git a/tests/mod_lesson/lesson_restarted/event.json b/tests/mod_lesson/lesson_restarted/event.json new file mode 100644 index 000000000..456ab37fa --- /dev/null +++ b/tests/mod_lesson/lesson_restarted/event.json @@ -0,0 +1,10 @@ +{ + "id": 1, + "userid": 1, + "courseid": 1, + "timecreated": 1433946701, + "objecttable": "lesson", + "objectid": 1, + "contextinstanceid": 1, + "eventname": "\\mod_lesson\\event\\lesson_restarted" +} diff --git a/tests/mod_lesson/lesson_restarted/lesson_restarted_test.php b/tests/mod_lesson/lesson_restarted/lesson_restarted_test.php new file mode 100644 index 000000000..ef9061d5f --- /dev/null +++ b/tests/mod_lesson/lesson_restarted/lesson_restarted_test.php @@ -0,0 +1,70 @@ +. + +namespace logstore_xapi\mod_lesson; + +defined('MOODLE_INTERNAL') || die(); + +global $CFG; + +require_once($CFG->dirroot . '/admin/tool/log/store/xapi/tests/xapi_test_case.php'); + +/** + * Unit test for mod_lesson lesson restarted. + * + * @package logstore_xapi + * @copyright Cliff Casey + * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class lesson_restarted_test extends \logstore_xapi\xapi_test_case { + + /** + * Retrieve the directory of the unit test. + * + * @return string + */ + protected function get_test_dir() { + return __DIR__; + } + + /** + * Retrieve the plugin type being tested. + * + * @return string + */ + protected function get_plugin_type() { + return "mod"; + } + + /** + * Retrieve the plugin name being tested. + * + * @return string + */ + protected function get_plugin_name() { + return "glossary"; + } + + /** + * Appease auto-detecting of test cases. xapi_test_case has default test cases. + * + * @covers ::lesson_restarted + * @return void + */ + public function test_init() { + + } +} diff --git a/tests/mod_lesson/lesson_restarted/statements.json b/tests/mod_lesson/lesson_restarted/statements.json new file mode 100644 index 000000000..cc477c20e --- /dev/null +++ b/tests/mod_lesson/lesson_restarted/statements.json @@ -0,0 +1,83 @@ +[ + { + "actor": { + "name": "test_fullname", + "account": { + "homePage": "http://www.example.org", + "name": "1" + } + }, + "verb": { + "id": "https://xapi.edlm/profiles/edlm-lms/concepts/verbs/restarted", + "display": { + "en": "Restarted" + } + }, + "object": { + "id": "http://www.example.org/mod/lesson/view.php?id=1#lesson", + "definition": { + "type": "http://adlnet.gov/expapi/activities/lesson", + "name": { + "en": "test_lesson" + }, + "description": { + "en": "test_lesson_intro" + } + } + }, + "context": { + "language": "en", + "extensions": { + "http://lrs.learninglocker.net/define/extensions/info": { + "http://moodle.org": "1.0.0", + "https://github.com/xAPI-vle/moodle-logstore_xapi": "0.0.0-development", + "event_name": "\\mod_lesson\\event\\lesson_restarted", + "event_function": "\\src\\transformer\\events\\mod_lesson\\lesson_restarted" + } + }, + "contextActivities": { + "parent": [ + { + "id": "http://www.example.org/mod/lesson/view.php?id=1", + "definition": { + "type": "http://adlnet.gov/expapi/activities/lesson", + "name": { + "en": "test_lesson" + } + } + }, + { + "id": "http://www.example.org/course/section.php?id=1", + "objectType": "Activity", + "definition": { + "name": { + "en": "test_name Section 0" + }, + "type": "http://id.tincanapi.com/activitytype/section" + } + }, + { + "id": "http://www.example.org/course/view.php?id=1", + "definition": { + "type": "https://w3id.org/xapi/cmi5/activitytype/course", + "name": { + "en": "test_name" + } + } + } + ], + "category": [ + { + "id": "http://www.example.org", + "definition": { + "type": "http://id.tincanapi.com/activitytype/lms", + "name": { + "en": "test_name" + } + } + } + ] + } + } + } +] diff --git a/tests/mod_lesson/lesson_resumed/data.json b/tests/mod_lesson/lesson_resumed/data.json new file mode 100644 index 000000000..ae34a1414 --- /dev/null +++ b/tests/mod_lesson/lesson_resumed/data.json @@ -0,0 +1,15 @@ +{ + "modules": [ + { + "id": 1, + "name": "lesson" + } + ], + "lesson": [ + { + "id": 1, + "name": "test_lesson", + "intro": "test_lesson_intro" + } + ] +} diff --git a/tests/mod_lesson/lesson_resumed/event.json b/tests/mod_lesson/lesson_resumed/event.json new file mode 100644 index 000000000..cc219252f --- /dev/null +++ b/tests/mod_lesson/lesson_resumed/event.json @@ -0,0 +1,10 @@ +{ + "id": 1, + "userid": 1, + "courseid": 1, + "timecreated": 1433946701, + "objecttable": "lesson", + "objectid": 1, + "contextinstanceid": 1, + "eventname": "\\mod_lesson\\event\\lesson_resumed" +} diff --git a/tests/mod_lesson/lesson_resumed/lesson_resumed_test.php b/tests/mod_lesson/lesson_resumed/lesson_resumed_test.php new file mode 100644 index 000000000..5c7da4f43 --- /dev/null +++ b/tests/mod_lesson/lesson_resumed/lesson_resumed_test.php @@ -0,0 +1,70 @@ +. + +namespace logstore_xapi\mod_lesson; + +defined('MOODLE_INTERNAL') || die(); + +global $CFG; + +require_once($CFG->dirroot . '/admin/tool/log/store/xapi/tests/xapi_test_case.php'); + +/** + * Unit test for mod_lesson lesson resumed. + * + * @package logstore_xapi + * @copyright Cliff Casey + * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class lesson_resumed_test extends \logstore_xapi\xapi_test_case { + + /** + * Retrieve the directory of the unit test. + * + * @return string + */ + protected function get_test_dir() { + return __DIR__; + } + + /** + * Retrieve the plugin type being tested. + * + * @return string + */ + protected function get_plugin_type() { + return "mod"; + } + + /** + * Retrieve the plugin name being tested. + * + * @return string + */ + protected function get_plugin_name() { + return "glossary"; + } + + /** + * Appease auto-detecting of test cases. xapi_test_case has default test cases. + * + * @covers ::lesson_resumed + * @return void + */ + public function test_init() { + + } +} diff --git a/tests/mod_lesson/lesson_resumed/statements.json b/tests/mod_lesson/lesson_resumed/statements.json new file mode 100644 index 000000000..5a37a158a --- /dev/null +++ b/tests/mod_lesson/lesson_resumed/statements.json @@ -0,0 +1,83 @@ +[ + { + "actor": { + "name": "test_fullname", + "account": { + "homePage": "http://www.example.org", + "name": "1" + } + }, + "verb": { + "id": "https://w3id.org/xapi/tla/verbs/resumed", + "display": { + "en": "Resumed" + } + }, + "object": { + "id": "http://www.example.org/mod/lesson/view.php?id=1#lesson", + "definition": { + "type": "http://adlnet.gov/expapi/activities/lesson", + "name": { + "en": "test_lesson" + }, + "description": { + "en": "test_lesson_intro" + } + } + }, + "context": { + "language": "en", + "extensions": { + "http://lrs.learninglocker.net/define/extensions/info": { + "http://moodle.org": "1.0.0", + "https://github.com/xAPI-vle/moodle-logstore_xapi": "0.0.0-development", + "event_name": "\\mod_lesson\\event\\lesson_resumed", + "event_function": "\\src\\transformer\\events\\mod_lesson\\lesson_resumed" + } + }, + "contextActivities": { + "parent": [ + { + "id": "http://www.example.org/mod/lesson/view.php?id=1", + "definition": { + "type": "http://adlnet.gov/expapi/activities/lesson", + "name": { + "en": "test_lesson" + } + } + }, + { + "id": "http://www.example.org/course/section.php?id=1", + "objectType": "Activity", + "definition": { + "name": { + "en": "test_name Section 0" + }, + "type": "http://id.tincanapi.com/activitytype/section" + } + }, + { + "id": "http://www.example.org/course/view.php?id=1", + "definition": { + "type": "https://w3id.org/xapi/cmi5/activitytype/course", + "name": { + "en": "test_name" + } + } + } + ], + "category": [ + { + "id": "http://www.example.org", + "definition": { + "type": "http://id.tincanapi.com/activitytype/lms", + "name": { + "en": "test_name" + } + } + } + ] + } + } + } +] diff --git a/tests/mod_lesson/lesson_started/data.json b/tests/mod_lesson/lesson_started/data.json new file mode 100644 index 000000000..ae34a1414 --- /dev/null +++ b/tests/mod_lesson/lesson_started/data.json @@ -0,0 +1,15 @@ +{ + "modules": [ + { + "id": 1, + "name": "lesson" + } + ], + "lesson": [ + { + "id": 1, + "name": "test_lesson", + "intro": "test_lesson_intro" + } + ] +} diff --git a/tests/mod_lesson/lesson_started/event.json b/tests/mod_lesson/lesson_started/event.json new file mode 100644 index 000000000..8d17dfa71 --- /dev/null +++ b/tests/mod_lesson/lesson_started/event.json @@ -0,0 +1,10 @@ +{ + "id": 1, + "userid": 1, + "courseid": 1, + "timecreated": 1433946701, + "objecttable": "lesson", + "objectid": 1, + "contextinstanceid": 1, + "eventname": "\\mod_lesson\\event\\lesson_started" +} diff --git a/tests/mod_lesson/lesson_started/lesson_started_test.php b/tests/mod_lesson/lesson_started/lesson_started_test.php new file mode 100644 index 000000000..4494cce4c --- /dev/null +++ b/tests/mod_lesson/lesson_started/lesson_started_test.php @@ -0,0 +1,70 @@ +. + +namespace logstore_xapi\mod_lesson; + +defined('MOODLE_INTERNAL') || die(); + +global $CFG; + +require_once($CFG->dirroot . '/admin/tool/log/store/xapi/tests/xapi_test_case.php'); + +/** + * Unit test for mod_lesson lesson started. + * + * @package logstore_xapi + * @copyright Cliff Casey + * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class lesson_started_test extends \logstore_xapi\xapi_test_case { + + /** + * Retrieve the directory of the unit test. + * + * @return string + */ + protected function get_test_dir() { + return __DIR__; + } + + /** + * Retrieve the plugin type being tested. + * + * @return string + */ + protected function get_plugin_type() { + return "mod"; + } + + /** + * Retrieve the plugin name being tested. + * + * @return string + */ + protected function get_plugin_name() { + return "glossary"; + } + + /** + * Appease auto-detecting of test cases. xapi_test_case has default test cases. + * + * @covers ::lesson_started + * @return void + */ + public function test_init() { + + } +} diff --git a/tests/mod_lesson/lesson_started/statements.json b/tests/mod_lesson/lesson_started/statements.json new file mode 100644 index 000000000..7c54faca9 --- /dev/null +++ b/tests/mod_lesson/lesson_started/statements.json @@ -0,0 +1,83 @@ +[ + { + "actor": { + "name": "test_fullname", + "account": { + "homePage": "http://www.example.org", + "name": "1" + } + }, + "verb": { + "id": "http://activitystrea.ms/start", + "display": { + "en": "Started" + } + }, + "object": { + "id": "http://www.example.org/mod/lesson/view.php?id=1#lesson", + "definition": { + "type": "http://adlnet.gov/expapi/activities/lesson", + "name": { + "en": "test_lesson" + }, + "description": { + "en": "test_lesson_intro" + } + } + }, + "context": { + "language": "en", + "extensions": { + "http://lrs.learninglocker.net/define/extensions/info": { + "http://moodle.org": "1.0.0", + "https://github.com/xAPI-vle/moodle-logstore_xapi": "0.0.0-development", + "event_name": "\\mod_lesson\\event\\lesson_started", + "event_function": "\\src\\transformer\\events\\mod_lesson\\lesson_started" + } + }, + "contextActivities": { + "parent": [ + { + "id": "http://www.example.org/mod/lesson/view.php?id=1", + "definition": { + "type": "http://adlnet.gov/expapi/activities/lesson", + "name": { + "en": "test_lesson" + } + } + }, + { + "id": "http://www.example.org/course/section.php?id=1", + "objectType": "Activity", + "definition": { + "name": { + "en": "test_name Section 0" + }, + "type": "http://id.tincanapi.com/activitytype/section" + } + }, + { + "id": "http://www.example.org/course/view.php?id=1", + "definition": { + "type": "https://w3id.org/xapi/cmi5/activitytype/course", + "name": { + "en": "test_name" + } + } + } + ], + "category": [ + { + "id": "http://www.example.org", + "definition": { + "type": "http://id.tincanapi.com/activitytype/lms", + "name": { + "en": "test_name" + } + } + } + ] + } + } + } +]