diff --git a/tests/Admin/AdminTest.php b/tests/Admin/AdminTest.php new file mode 100644 index 0000000..4664b91 --- /dev/null +++ b/tests/Admin/AdminTest.php @@ -0,0 +1,26 @@ +setName('Test Category'); + + $id = QACategoryMapper::create($category); + self::assertGreaterThan(0, $category->getId()); + self::assertEquals($id, $category->getId()); + + $categoryR = QACategoryMapper::get($category->getId()); + self::assertEquals($category->getName(), $categoryR->getName()); + } + + public function testChildCRUD() : void + { + $category = new QACategory(); + + $category->setName('Test Category2'); + $category->setParent(new NullQACategory(1)); + + $id = QACategoryMapper::create($category); + self::assertGreaterThan(0, $category->getId()); + self::assertEquals($id, $category->getId()); + + $categoryR = QACategoryMapper::get($category->getId()); + self::assertEquals($category->getName(), $categoryR->getName()); + self::assertEquals($category->getParent()->getId(), $categoryR->getParent()->getId()); + } + + /** + * @group volume + * @group module + * @coversNothing + */ + public function testVolume() : void + { + for ($i = 1; $i < 30; ++$i) { + $text = new Text(); + $category = new QACategory(); + + $category->setName($text->generateText(\mt_rand(1, 3))); + + $id = QACategoryMapper::create($category); + } + } +} diff --git a/tests/Models/3QAQuestionMapperTest.php b/tests/Models/3QAQuestionMapperTest.php new file mode 100644 index 0000000..2f7cbb4 --- /dev/null +++ b/tests/Models/3QAQuestionMapperTest.php @@ -0,0 +1,74 @@ +setName('Question Name'); + $question->setQuestion('Question content'); + $question->setStatus(QAQuestionStatus::ACTIVE); + $question->setCategory(new NullQACategory(1)); + $question->setCreatedBy(new NullAccount(1)); + $question->setLanguage('en'); + + $id = QAQuestionMapper::create($question); + self::assertGreaterThan(0, $question->getId()); + self::assertEquals($id, $question->getId()); + + $questionR = QAQuestionMapper::get($question->getId()); + self::assertEquals($question->getName(), $questionR->getName()); + self::assertEquals($question->getQuestion(), $questionR->getQuestion()); + self::assertEquals($question->getStatus(), $questionR->getStatus()); + self::assertEquals($question->getLanguage(), $questionR->getLanguage()); + self::assertEquals($question->getCategory()->getId(), $questionR->getCategory()->getId()); + self::assertEquals($question->getCreatedBy()->getId(), $questionR->getCreatedBy()->getId()); + } + + /** + * @group volume + * @group module + * @coversNothing + */ + public function testVolume() : void + { + for ($i = 1; $i < 30; ++$i) { + $text = new Text(); + $question = new QAQuestion(); + + $question->setName($text->generateText(\mt_rand(1, 3))); + $question->setQuestion($text->generateText(\mt_rand(100, 500))); + $question->setStatus(QAQuestionStatus::ACTIVE); + $question->setCategory(new NullQACategory(\mt_rand(1, 9))); + $question->setCreatedBy(new NullAccount(1)); + $question->setLanguage('en'); + + $id = QAQuestionMapper::create($question); + } + } +} diff --git a/tests/Models/4QAAnswerMapperTest.php b/tests/Models/4QAAnswerMapperTest.php new file mode 100644 index 0000000..3c46870 --- /dev/null +++ b/tests/Models/4QAAnswerMapperTest.php @@ -0,0 +1,70 @@ +setAnswer('Answer content'); + $answer->setStatus(QAAnswerStatus::ACTIVE); + $answer->setCreatedBy(new NullAccount(1)); + $answer->setQuestion(new NullQAQuestion(1)); + $answer->setAccepted(true); + + $id = QAAnswerMapper::create($answer); + self::assertGreaterThan(0, $answer->getId()); + self::assertEquals($id, $answer->getId()); + + $answerR = QAAnswerMapper::get($answer->getId()); + self::assertEquals($answer->getAnswer(), $answerR->getAnswer()); + self::assertEquals($answer->getQuestion()->getId(), $answerR->getQuestion()->getId()); + self::assertEquals($answer->getStatus(), $answerR->getStatus()); + self::assertEquals($answer->isAccepted(), $answerR->isAccepted()); + self::assertEquals($answer->getCreatedBy()->getId(), $answerR->getCreatedBy()->getId()); + } + + /** + * @group volume + * @group module + * @coversNothing + */ + public function testVolume() : void + { + for ($i = 1; $i < 30; ++$i) { + $text = new Text(); + $answer = new QAAnswer(); + + $answer->setAnswer($text->generateText(\mt_rand(100, 500))); + $answer->setCreatedBy(new NullAccount(1)); + $answer->setStatus(QAAnswerStatus::ACTIVE); + $answer->setQuestion(new NullQAQuestion(1)); + + $id = QAAnswerMapper::create($answer); + } + } +} diff --git a/tests/Models/QAAnswerTest.php b/tests/Models/QAAnswerTest.php new file mode 100644 index 0000000..416e067 --- /dev/null +++ b/tests/Models/QAAnswerTest.php @@ -0,0 +1,56 @@ +getId()); + self::assertEquals('', $answer->getAnswer()); + self::assertEquals(0, $answer->getQuestion()->getId()); + self::assertFalse($answer->isAccepted()); + self::assertEquals(QAAnswerStatus::ACTIVE, $answer->getStatus()); + self::assertEquals(0, $answer->getCreatedBy()->getId()); + self::assertInstanceOf('\DateTime', $answer->getCreatedAt()); + } + + public function testSetGet() : void + { + $answer = new QAAnswer(); + + $answer->setAnswer('Answer content'); + $answer->setStatus(QAAnswerStatus::ACTIVE); + $answer->setQuestion(new NullQAQuestion(3)); + $answer->setCreatedBy(new NullAccount(1)); + $answer->setAccepted(true); + + self::assertEquals('Answer content', $answer->getAnswer()); + self::assertEquals(QAAnswerStatus::ACTIVE, $answer->getStatus()); + self::assertEquals(1, $answer->getCreatedBy()->getId()); + self::assertEquals(3, $answer->getQuestion()->getId()); + self::assertTrue($answer->isAccepted()); + } +} diff --git a/tests/Models/QACategoryTest.php b/tests/Models/QACategoryTest.php new file mode 100644 index 0000000..34f1b72 --- /dev/null +++ b/tests/Models/QACategoryTest.php @@ -0,0 +1,44 @@ +getId()); + self::assertEquals('', $category->getName()); + self::assertNull($category->getParent()); + } + + public function testSetGet() : void + { + $category = new QACategory(); + + $category->setName('Category Name'); + $category->setParent(new NullQACategory(1)); + + self::assertEquals('Category Name', $category->getName()); + self::assertEquals(1, $category->getParent()->getId()); + } +} diff --git a/tests/Models/QAQuestionTest.php b/tests/Models/QAQuestionTest.php new file mode 100644 index 0000000..563c903 --- /dev/null +++ b/tests/Models/QAQuestionTest.php @@ -0,0 +1,60 @@ +getId()); + self::assertEquals('', $question->getName()); + self::assertEquals('', $question->getQuestion()); + self::assertEquals(QAQuestionStatus::ACTIVE, $question->getStatus()); + self::assertEquals(0, $question->getCategory()->getId()); + self::assertEquals('', $question->getLanguage()); + self::assertEquals(0, $question->getCreatedBy()->getId()); + self::assertInstanceOf('\DateTime', $question->getCreatedAt()); + self::assertEquals([], $question->getBadges()); + } + + public function testSetGet() : void + { + $question = new QAQuestion(); + + $question->setName('Question Name'); + $question->setQuestion('Question content'); + $question->setStatus(QAQuestionStatus::ACTIVE); + $question->setCategory(new NullQACategory(1)); + $question->setCreatedBy(new NullAccount(1)); + $question->setLanguage('en'); + + self::assertEquals('Question Name', $question->getName()); + self::assertEquals('Question content', $question->getQuestion()); + self::assertEquals(QAQuestionStatus::ACTIVE, $question->getStatus()); + self::assertEquals('en', $question->getLanguage()); + self::assertEquals(1, $question->getCategory()->getId()); + self::assertEquals(1, $question->getCreatedBy()->getId()); + } +}