function test_StageCreate() { $registry = Registry::getInstance(); $owner = AdminTest::createAdmin(); $course = CourseTest::createCourse($owner->id); $lesson = LessonTest::createLesson($course->id); $exercise = ExerciseTest::createExercise(); $exercise1 = ExerciseTest::createExercise(); $stage = new Stage(); $stage->lessonId = $lesson->id; $stage->name = $name = "unit test 1"; $stage->exerciseId = $exercise->id; $stage->settings = $settings = '{"settings":"unit test 1"}'; $locales = LocaleManager::getLocales(); $stage->l10n = $l10n = self::createLocale(); $stage->save(); $this->assertNotEmpty($stage->id, 'Empty id after create'); $id = $stage->id; unset($stage); $stage1 = new Stage($id); $this->assertEquals($lesson->id, $stage1->lessonId, "Invalid lesson id ({$id}) after create."); foreach ($locales as $localeId => $localeData) { foreach ($this->l10nFields as $field) { $this->assertEquals($l10n->get($field, $localeId), $stage1->l10n->get($field, $localeId), "Invalid ({$id})->l10n({$localeId}, {$field}) after create."); } } $setup = ['ownerId' => $owner->id, 'courseId' => $course->id, 'lessonId' => $lesson->id, 'exerciseId' => $exercise->id, 'id' => $id, 'l10n' => $l10n]; $registry->set(self::REG_KEY, $setup); unset($stage1); }
function test_MaterialCreate() { $registry = Registry::getInstance(); $owner = AdminTest::createAdmin(); $course = CourseTest::createCourse($owner->id); $lesson = LessonTest::createLesson($course->id); $exercise = ExerciseTest::createExercise(); $stage = StageTest::createStage($lesson->id, $exercise->id); $material = new Material(); $material->stageId = $stage->id; $material->name = $name = 'unitTest-Material-name-' . date('YmdHis'); $material->description = $description = 'unitTest-Material-description-' . date('YmdHis'); $fileSpec = __DIR__ . DIRECTORY_SEPARATOR . 'files' . DIRECTORY_SEPARATOR . '0.gif'; $locales = LocaleManager::getLocales(); $material->l10n = $l10n = self::createLocale($fileSpec); $material->save(); $this->assertNotEmpty($material->id, 'Empty id after create'); $id = $material->id; unset($material); $material1 = new Material($id); $this->assertEquals($stage->id, $material1->stageId, "Invalid stage id ({$id}) after create."); $this->assertEquals($name, $material1->name, "Invalid name ({$id}) after create."); $this->assertEquals($description, $material1->description, "Invalid description ({$id}) after create."); foreach (array_keys($locales) as $localeId) { $savedName = $material1->l10n->get('original_file_name', $localeId); $this->assertFileEquals($fileSpec, $registry->get('material_path') . $material1->l10n->get('fileName', $localeId), "Invalid {$savedName} file contensts ({$id})->l10n({$localeId}) after create."); $this->assertEquals(basename($l10n->get('uploaded_file_name', $localeId)), $material1->l10n->get('original_file_name', $localeId), "Invalid original file name ({$id})->l10n({$localeId}) after create."); } $setup = ['ownerId' => $owner->id, 'courseId' => $course->id, 'lessonId' => $lesson->id, 'exerciseId' => $exercise->id, 'stageId' => $stage->id, 'id' => $id, 'l10n' => $l10n]; $registry->set(self::REG_KEY, $setup); unset($material1); }