MessageTemplateDependenciesTest.php in Message 8
File
tests/src/Kernel/MessageTemplateDependenciesTest.php
View source
<?php
namespace Drupal\Tests\message\Kernel;
use Drupal\filter\Entity\FilterFormat;
use Drupal\KernelTests\KernelTestBase;
use Drupal\message\Entity\MessageTemplate;
class MessageTemplateDependenciesTest extends KernelTestBase {
protected static $modules = [
'filter',
'message',
'user',
];
public function testFilterFormatDependency() {
$config_factory = \Drupal::configFactory();
FilterFormat::create([
'format' => 'fallback',
])
->save();
$config_factory
->getEditable('filter.settings')
->set('fallback_format', 'fallback')
->save();
FilterFormat::create([
'format' => 'test_format1',
])
->save();
FilterFormat::create([
'format' => 'test_format2',
])
->save();
MessageTemplate::create([
'template' => 'foo',
'text' => [
[
'value' => 'text...',
'format' => 'test_format1',
],
[
'value' => 'other text',
'format' => 'test_format2',
],
],
])
->save();
$template = MessageTemplate::load('foo');
$dependencies = $template
->getDependencies() + [
'config' => [],
];
$this
->assertSame([
'filter.format.test_format1',
'filter.format.test_format2',
], $dependencies['config']);
FilterFormat::load('test_format2')
->delete();
$template = MessageTemplate::load('foo');
$dependencies = $template
->getDependencies() + [
'config' => [],
];
$this
->assertSame('fallback', $template
->get('text')[1]['format']);
$this
->assertSame([
'filter.format.fallback',
'filter.format.test_format1',
], $dependencies['config']);
}
}