public function FeedValidationTest::testValidation in Drupal 9
Same name and namespace in other branches
- 8 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
->assertEquals('title', $violations[0]
->getPropertyPath());
$this
->assertEquals(t('A feed named %value already exists. Enter a unique title.', [
'%value' => $feed
->label(),
]), $violations[0]
->getMessage());
$this
->assertEquals('url', $violations[1]
->getPropertyPath());
$this
->assertEquals(t('A feed with this URL %value already exists. Enter a unique URL.', [
'%value' => $feed
->getUrl(),
]), $violations[1]
->getMessage());
}