function FeedValidationTest::testValidation

Same name in other branches
  1. 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\Kernel

Code

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(),
    ]));
}

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