| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- <?php
- namespace internship\controller;
- use n2n\web\http\PageNotFoundException;
- use PHPUnit\Framework\TestCase;
- use n2n\test\TestEnv;
- use internship\test\ArticleTestEnv;
- use PHPUnit\Util\Test;
- 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 testGetDoArticlesWithCategoryName() {
- $response = TestEnv::http()->newRequest()
- ->get(['api','articles', 'teaser'])
- ->exec();
- $articleStructs = $response->parseJson();
- $this->assertCount(1, $articleStructs);
- $this->assertEquals('teaser', $articleStructs[0]['categoryName']);
- }
- function testGetDoArticlesWithCategoryName2() {
- $response = TestEnv::http()->newRequest()
- ->get(['api','articles', 'news'])
- ->exec();
- $articleStructs = $response->parseJson();
- $this->assertCount(2, $articleStructs);
- $this->assertEquals('Title 3', $articleStructs[0]['title']);
- $this->assertEquals('Title 2', $articleStructs[1]['title']);
- }
- function testGetDoArticleById() {
- $response = TestEnv::http()->newRequest()
- ->get(['api', 'article', 1])
- ->exec();
- $articleStructs = $response->parseJson();
- $this->assertCount(4, $articleStructs);
- $this->assertEquals($this->article1Id, $articleStructs['id']);
- }
- function testGetDoArticleUnknownId() {
- $this->expectException(PageNotFoundException::class);
- $response = TestEnv::http()->newRequest()
- ->get(['api', 'article', 11])
- ->exec();
- }
- }
|