| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <?php
- namespace internship\controller;
- use mysql_xdevapi\Exception;
- 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);
- $this->assertEquals('Loren ipsum 3', $articleStructs[0]['text']);
- $this->assertEquals('Loren ipsum 2', $articleStructs[1]['text']);
- }
- function testGetDoArticle() {
- $response = TestEnv::http()->newRequest()
- ->get(['api', 'article', '2'])
- ->exec();
- $articleStructs = $response->parseJson();
- $this->assertEquals('2', $articleStructs[2]['id']);
- }
- function testGetDoArticleError() {
- try {
- $response = TestEnv::http()->newRequest()
- ->get(['api', 'article', '5'])
- ->exec();
- $this->fail("Page wurde anscheinend doch gefunden");
- } catch (PageNotFoundException $e){
- $this->assertNotEmpty($e, '');
- }
- }
- }
|