NewsControllerTest.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace internship\controller;
  3. use PHPUnit\Framework\TestCase;
  4. use util\GeneralTestEnv;
  5. use n2n\test\TestEnv;
  6. use internship\test\ArticleTestEnv;
  7. use internship\bo\Category;
  8. use internship\test\NewsTestEnv;
  9. use n2n\web\http\StatusException;
  10. class NewsControllerTest extends TestCase {
  11. private int $news1Id;
  12. private int $news2Id;
  13. private int $news3Id;
  14. private int $news4Id;
  15. function setUp(): void {
  16. GeneralTestEnv::tearDown();
  17. $tx = TestEnv::createTransaction();
  18. $news1 = NewsTestEnv::setUpSingleNews('News 1', 'News Beschreibung', 'Das ist die erste News! Gratulation!', 'Intro Test');
  19. $news2 = NewsTestEnv::setUpSingleNews('News 2');
  20. $news3 = NewsTestEnv::setUpSingleNews('News 3');
  21. $tx->commit();
  22. $this->news1Id = $news1->id;
  23. $this->news2Id = $news2->id;
  24. $this->news3Id = $news3->id;
  25. }
  26. /**
  27. * @throws StatusException
  28. */
  29. function testGetDoNews() {
  30. $response = TestEnv::http()->newRequest()
  31. ->get(['api', 'news', 'news'])
  32. ->exec();
  33. $newsStructs = $response->parseJson();
  34. $this->assertCount(3, $newsStructs);
  35. $this->assertEquals('News 3', $newsStructs[0]['title']);
  36. $this->assertEquals('News 2', $newsStructs[1]['title']);
  37. $this->assertEquals('News 1', $newsStructs[2]['title']);
  38. }
  39. }