You are here

public function AggregatorAdminTest::testOverviewPage in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/aggregator/tests/src/Functional/AggregatorAdminTest.php \Drupal\Tests\aggregator\Functional\AggregatorAdminTest::testOverviewPage()

Tests the overview page.

File

core/modules/aggregator/tests/src/Functional/AggregatorAdminTest.php, line 69

Class

AggregatorAdminTest
Tests aggregator admin pages.

Namespace

Drupal\Tests\aggregator\Functional

Code

public function testOverviewPage() {
  $feed = $this
    ->createFeed($this
    ->getRSS091Sample());
  $this
    ->drupalGet('admin/config/services/aggregator');
  $result = $this
    ->xpath('//table/tbody/tr');

  // Check if the amount of feeds in the overview matches the amount created.
  $this
    ->assertCount(1, $result, 'Created feed is found in the overview');

  // Check if the fields in the table match with what's expected.
  $link = $this
    ->xpath('//table/tbody/tr//td[1]/a');
  $this
    ->assertEquals($feed
    ->label(), $link[0]
    ->getText());
  $count = $this->container
    ->get('entity_type.manager')
    ->getStorage('aggregator_item')
    ->getItemCount($feed);
  $td = $this
    ->xpath('//table/tbody/tr//td[2]');
  $this
    ->assertEquals(\Drupal::translation()
    ->formatPlural($count, '1 item', '@count items'), $td[0]
    ->getText());

  // Update the items of the first feed.
  $feed
    ->refreshItems();
  $this
    ->drupalGet('admin/config/services/aggregator');
  $result = $this
    ->xpath('//table/tbody/tr');

  // Check if the fields in the table match with what's expected.
  $link = $this
    ->xpath('//table/tbody/tr//td[1]/a');
  $this
    ->assertEquals($feed
    ->label(), $link[0]
    ->getText());
  $count = $this->container
    ->get('entity_type.manager')
    ->getStorage('aggregator_item')
    ->getItemCount($feed);
  $td = $this
    ->xpath('//table/tbody/tr//td[2]');
  $this
    ->assertEquals(\Drupal::translation()
    ->formatPlural($count, '1 item', '@count items'), $td[0]
    ->getText());
}