| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- namespace internship\controller;
- use n2n\web\http\PageNotFoundException;
- use PHPUnit\Framework\TestCase;
- use n2n\test\TestEnv;
- use internship\test\ArticleTestEnv;
- use util\GeneralTestEnv;
- class ArticleControllerTest extends TestCase {
- private int $article1Id;
- private int $article2Id;
- private int $article3Id;
- function setUp(): void {
- GeneralTestEnv::tearDown();
- $tx = TestEnv::createTransaction();
- $article1 = ArticleTestEnv::setUpArticle('Title 1', 'Loren ipsum 1', 'teaser');
- $article2 = ArticleTestEnv::setUpArticle('Title 2', 'Loren ipsum 2', 'news');
- $article3 = ArticleTestEnv::setUpArticle('Title 3', 'Loren ipsum 3', 'news');
- $tx->commit();
- $this->article1Id = $article1->getId();
- $this->article2Id = $article2->getId();
- $this->article3Id = $article3->getId();
- }
- function testGetDoArticles() {
- $response = TestEnv::http()->newRequest()
- ->get(['api', 'articles'])
- ->exec();
- $articleStructs = $response->parseJson();
- $this->assertCount(3, $articleStructs);
- $this->assertEquals('Title 3', $articleStructs[0]['title']);
- $this->assertEquals('Title 2', $articleStructs[1]['title']);
- $this->assertEquals('Title 1', $articleStructs[2]['title']);
- }
- function testGetDoArticlesByCategoryName() {
- $response = TestEnv::http()->newRequest()
- ->get(['api', 'articles', 'news'])
- ->exec();
- $articleStructs = $response->parseJson();
- $this->assertCount(2,$articleStructs);
- var_dump($articleStructs);
- $this->assertEquals('Title 3', $articleStructs[0]['title']);
- $this->assertEquals('Title 2', $articleStructs[1]['title']);
- $this->assertEquals('news', $articleStructs[0]['categoryName']);
- }
- function testGetDoArticle() {
- $response = TestEnv::http()->newRequest()
- ->get(['api', 'article', 2])
- ->exec();
- $articleStruct = $response->parseJson();
- var_dump($articleStruct);
- $this->assertEquals('Title 2', $articleStruct['title']);
- $this->assertEquals(2,$articleStruct['id']);
- }
- function testGetDoArticleNotFound() {
- $this->expectException(PageNotFoundException::class);
- $response = TestEnv::http()->newRequest()
- ->get(['api', 'article', 7])
- ->exec();
- }
- }
|