MessageTemplateCreateTrait.php in Message 8
File
tests/src/Kernel/MessageTemplateCreateTrait.php
View source
<?php
namespace Drupal\Tests\message\Kernel;
use Drupal\Core\Language\Language;
use Drupal\message\Entity\MessageTemplate;
trait MessageTemplateCreateTrait {
protected function createMessageTemplate($template = NULL, $label = NULL, $description = NULL, array $text = [], array $settings = [], $langcode = Language::LANGCODE_NOT_SPECIFIED) {
$settings += [
'token options' => [
'token replace' => TRUE,
'clear' => FALSE,
],
];
$template = $template ?: mb_strtolower($this
->randomMachineName());
$label = $label ?: $this
->randomString();
$description = $description ?: $this
->randomString();
$text = $text ?: [
$this
->randomString(),
];
foreach ($text as $key => $detail) {
if (!is_array($detail)) {
$text[$key] = [
'value' => $detail,
'format' => filter_default_format(),
];
}
elseif (!isset($detail['format'])) {
$text[$key]['format'] = 'plain_text';
}
}
$message_template = MessageTemplate::Create([
'template' => $template,
'label' => $label,
'description' => $description,
'text' => $text,
'settings' => $settings,
'langcode' => $langcode,
]);
$message_template
->save();
return $message_template;
}
}