public function FeedValidationTest::testValidation in Drupal 8
Same name and namespace in other branches
- 9 core/modules/aggregator/tests/src/Kernel/FeedValidationTest.php \Drupal\Tests\aggregator\Kernel\FeedValidationTest::testValidation()
Tests the feed validation constraints.
File
- core/modules/ aggregator/ tests/ src/ Kernel/ FeedValidationTest.php, line 33 
Class
- FeedValidationTest
- Tests feed validation constraints.
Namespace
Drupal\Tests\aggregator\KernelCode
public function testValidation() {
  // Add feed.
  $feed = Feed::create([
    'title' => 'Feed 1',
    'url' => 'https://www.drupal.org/planet/rss.xml',
    'refresh' => 900,
  ]);
  $violations = $feed
    ->validate();
  $this
    ->assertCount(0, $violations);
  $feed
    ->save();
  // Add another feed.
  /* @var \Drupal\aggregator\FeedInterface $feed */
  $feed = Feed::create([
    'title' => 'Feed 1',
    'url' => 'https://www.drupal.org/planet/rss.xml',
    'refresh' => 900,
  ]);
  $violations = $feed
    ->validate();
  $this
    ->assertCount(2, $violations);
  $this
    ->assertEqual($violations[0]
    ->getPropertyPath(), 'title');
  $this
    ->assertEqual($violations[0]
    ->getMessage(), t('A feed named %value already exists. Enter a unique title.', [
    '%value' => $feed
      ->label(),
  ]));
  $this
    ->assertEqual($violations[1]
    ->getPropertyPath(), 'url');
  $this
    ->assertEqual($violations[1]
    ->getMessage(), t('A feed with this URL %value already exists. Enter a unique URL.', [
    '%value' => $feed
      ->getUrl(),
  ]));
}