$fourthProjectModel->write();
$srProject = array('identifier' => $constants['srIdentifier'], 'name' => $constants['srName'], 'repository' => 'http://public.languagedepot.org', 'role' => 'manager');
$srTestProjectId = ProjectCommands::createProject($constants['srProjectName'], $constants['srProjectCode'], $projectType, $managerUserId, $website, $srProject);
ProjectCommands::updateUserRole($testProjectId, $managerUserId, ProjectRoles::MANAGER);
ProjectCommands::updateUserRole($testProjectId, $memberUserId, ProjectRoles::CONTRIBUTOR);
ProjectCommands::updateUserRole($testProjectId, $resetUserId, ProjectRoles::CONTRIBUTOR);
ProjectCommands::updateUserRole($otherProjectId, $adminUserId, ProjectRoles::MANAGER);
ProjectCommands::updateUserRole($fourthProjectId, $adminUserId, ProjectRoles::MANAGER);
ProjectCommands::updateUserRole($srTestProjectId, $adminUserId, ProjectRoles::MANAGER);
if ($site == 'scriptureforge') {
    $text1 = TextCommands::updateText($testProjectId, array('id' => '', 'title' => $constants['testText1Title'], 'content' => $constants['testText1Content']));
    $text2 = TextCommands::updateText($testProjectId, array('id' => '', 'title' => $constants['testText2Title'], 'content' => $constants['testText2Content']));
    $question1 = QuestionCommands::updateQuestion($testProjectId, array('id' => '', 'textRef' => $text1, 'title' => $constants['testText1Question1Title'], 'description' => $constants['testText1Question1Content']));
    $question2 = QuestionCommands::updateQuestion($testProjectId, array('id' => '', 'textRef' => $text1, 'title' => $constants['testText1Question2Title'], 'description' => $constants['testText1Question2Content']));
    $template1 = QuestionTemplateCommands::updateTemplate($testProjectId, array('id' => '', 'title' => 'first template', 'description' => 'not particularly interesting'));
    $template2 = QuestionTemplateCommands::updateTemplate($testProjectId, array('id' => '', 'title' => 'second template', 'description' => 'not entirely interesting'));
    $answer1 = QuestionCommands::updateAnswer($testProjectId, $question1, array('id' => '', 'content' => $constants['testText1Question1Answer']), $managerUserId);
    $answer1Id = array_keys($answer1)[0];
    $answer2 = QuestionCommands::updateAnswer($testProjectId, $question2, array('id' => '', 'content' => $constants['testText1Question2Answer']), $managerUserId);
    $answer2Id = array_keys($answer2)[0];
    $comment1 = QuestionCommands::updateComment($testProjectId, $question1, $answer1Id, array('id' => '', 'content' => $constants['testText1Question1Answer1Comment']), $managerUserId);
    $comment2 = QuestionCommands::updateComment($testProjectId, $question2, $answer2Id, array('id' => '', 'content' => $constants['testText1Question2Answer2Comment']), $managerUserId);
} elseif ($site == 'languageforge') {
    // Set up LanguageForge E2E test envrionment here
    ProjectCommands::updateUserRole($testProjectId, $observerUserId, LexRoles::OBSERVER);
    $testProjectModel = new LexProjectModel($testProjectId);
    $testProjectModel->addInputSystem('th-fonipa', 'tipa', 'Thai');
    $testProjectModel->config->entry->fields[LexConfig::LEXEME]->inputSystems[] = 'th-fonipa';
    $testProjectModel->addInputSystem('th-Zxxx-x-audio', 'taud', 'Thai Voice');
    $testProjectModel->config->entry->fields[LexConfig::LEXEME]->inputSystems[] = 'th-Zxxx-x-audio';
    $testProjectId = $testProjectModel->write();
예제 #2
0
 public function questionTemplate_list()
 {
     return QuestionTemplateCommands::listTemplates($this->projectId);
 }
 public function testQuestionTemplateCRUD_CRUDOK()
 {
     $projectId = self::$environ->makeProject();
     // Initial List
     $result = self::$environ->fixJson(QuestionTemplateCommands::listTemplates($projectId));
     $existingCount = $result['count'];
     // Create
     $model = array('id' => '', 'title' => 'Template Title', 'description' => 'Nice and clear description');
     $id = QuestionTemplateCommands::updateTemplate($projectId, $model);
     $this->assertNotNull($id);
     $this->assertEquals(24, strlen($id));
     // Create Second
     $model = array('id' => '', 'title' => 'Template Title 2', 'description' => 'Nice and clear description 2');
     $id2 = QuestionTemplateCommands::updateTemplate($projectId, $model);
     // List
     $result = self::$environ->fixJson(QuestionTemplateCommands::listTemplates($projectId));
     $this->assertEquals($result['count'], $existingCount + 2);
     // Read
     $result = self::$environ->fixJson(QuestionTemplateCommands::readTemplate($projectId, $id));
     $this->assertNotNull($result['id']);
     $this->assertEquals('Template Title', $result['title']);
     $this->assertEquals('Nice and clear description', $result['description']);
     // Update
     $result['description'] = 'Muddled description';
     $newid = QuestionTemplateCommands::updateTemplate($projectId, $result);
     $this->assertNotNull($newid);
     $this->assertEquals($id, $newid);
     // Verify update actually changed DB
     $postUpdateResult = self::$environ->fixJson(QuestionTemplateCommands::readTemplate($projectId, $id));
     $this->assertNotNull($postUpdateResult['id']);
     $this->assertEquals($postUpdateResult['description'], 'Muddled description');
     // Delete
     $result = QuestionTemplateCommands::deleteQuestionTemplates($projectId, array($id));
     $this->assertTrue($result > 0);
     QuestionTemplateCommands::deleteQuestionTemplates($projectId, array($id2));
 }