class AnnounceRendererTest

Same name and namespace in other branches
  1. 11.x core/modules/announcements_feed/tests/src/Kernel/AnnounceRendererTest.php \Drupal\Tests\announcements_feed\Kernel\AnnounceRendererTest

@coversDefaultClass \Drupal\announcements_feed\AnnounceRenderer

@group announcements_feed

Hierarchy

Expanded class hierarchy of AnnounceRendererTest

File

core/modules/announcements_feed/tests/src/Kernel/AnnounceRendererTest.php, line 14

Namespace

Drupal\Tests\announcements_feed\Kernel
View source
class AnnounceRendererTest extends AnnounceTestBase {
  
  /**
   * Tests rendered valid when something goes wrong.
   */
  public function testRendererException() : void {
    $this->setTestFeedResponses([
      new Response(403),
    ]);
    $render = $this->container
      ->get('announcements_feed.renderer')
      ->render();
    $this->assertEquals('status_messages', $render['#theme']);
    $this->assertEquals('An error occurred while parsing the announcements feed, check the logs for more information.', $render['#message_list']['error'][0]);
  }
  
  /**
   * Tests rendered valid content.
   */
  public function testRendererContent() : void {
    $feed_item_1 = [
      'id' => '1001',
      'content_html' => 'Test teaser 1',
      'url' => 'https://www.drupal.org/project/announce',
      '_drupalorg' => [
        'featured' => TRUE,
        'version' => '^10||^11',
      ],
      'date_modified' => "2021-09-02T15:09:42+00:00",
      'date_published' => "2021-09-01T15:09:42+00:00",
    ];
    $feed_item_2 = [
      'id' => '1002',
      'content_html' => 'Test teaser 1',
      'url' => 'https://www.drupal.org/project/announce',
      '_drupalorg' => [
        'featured' => FALSE,
        'version' => '^10||^11',
      ],
      'date_modified' => "2021-09-02T15:09:42+00:00",
      'date_published' => "2021-09-01T15:09:42+00:00",
    ];
    $this->setFeedItems([
      $feed_item_1,
      $feed_item_2,
    ]);
    $render = $this->container
      ->get('announcements_feed.renderer')
      ->render();
    $this->assertEquals('announcements_feed', $render['#theme']);
    $this->assertEquals(1, $render['#count']);
    $this->assertEquals(1001, $render['#featured'][0]->id);
    $render = $this->container
      ->get('announcements_feed.renderer')
      ->render();
    $this->assertEquals('announcements_feed', $render['#theme']);
    $this->assertEquals(1, $render['#count']);
    $this->assertEquals(1002, $render['#standard'][0]->id);
  }

}

Members

Title Sort descending Modifiers Object type Summary Overrides
AnnounceRendererTest::testRendererContent public function Tests rendered valid content.
AnnounceRendererTest::testRendererException public function Tests rendered valid when something goes wrong.
AnnounceTestBase::$history protected property History of requests/responses.
AnnounceTestBase::$modules protected static property Modules to install. 1
AnnounceTestBase::setFeedItems protected function Sets the feed items to be returned for the test. 2
AnnounceTestBase::setTestFeedResponses protected function Sets test feed responses.
AnnounceTestBase::setUp protected function 2

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.