class StateFormatterTest in Drupal 10
Same name and namespace in other branches
- 8 core/modules/content_moderation/tests/src/Kernel/StateFormatterTest.php \Drupal\Tests\content_moderation\Kernel\StateFormatterTest
- 9 core/modules/content_moderation/tests/src/Kernel/StateFormatterTest.php \Drupal\Tests\content_moderation\Kernel\StateFormatterTest
Test the state field formatter.
@group content_moderation
Hierarchy
- class \Drupal\KernelTests\KernelTestBase extends \PHPUnit\Framework\TestCase implements ServiceProviderInterface uses \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait, AssertContentTrait, ConfigTestTrait, ExtensionListTestTrait, RandomGeneratorTrait, TestRequirementsTrait, PhpUnitWarnings
- class \Drupal\Tests\content_moderation\Kernel\StateFormatterTest uses ContentModerationTestTrait
Expanded class hierarchy of StateFormatterTest
File
- core/
modules/ content_moderation/ tests/ src/ Kernel/ StateFormatterTest.php, line 15
Namespace
Drupal\Tests\content_moderation\KernelView source
class StateFormatterTest extends KernelTestBase {
use ContentModerationTestTrait;
/**
* Modules to enable.
*
* @var array
*/
protected static $modules = [
'workflows',
'content_moderation',
'entity_test',
'user',
];
/**
* {@inheritdoc}
*/
protected function setUp() : void {
parent::setUp();
$this
->installEntitySchema('entity_test_rev');
$this
->installEntitySchema('content_moderation_state');
$this
->installConfig('content_moderation');
$workflow = $this
->createEditorialWorkflow();
$workflow
->getTypePlugin()
->addEntityTypeAndBundle('entity_test_rev', 'entity_test_rev');
$workflow
->save();
}
/**
* Tests the embed field.
*
* @dataProvider formatterTestCases
*/
public function testStateFieldFormatter($field_value, $formatter_settings, $expected_output) {
$entity = EntityTestRev::create([
'moderation_state' => $field_value,
]);
$entity
->save();
$field_output = $this->container
->get('renderer')
->executeInRenderContext(new RenderContext(), function () use ($entity, $formatter_settings) {
return $entity->moderation_state
->view($formatter_settings);
});
$this
->assertEquals($expected_output, $field_output[0]);
}
/**
* Test cases for testStateFieldFormatter().
*/
public function formatterTestCases() {
return [
'Draft State' => [
'draft',
[
'type' => 'content_moderation_state',
'settings' => [],
],
[
'#markup' => 'Draft',
],
],
'Published State' => [
'published',
[
'type' => 'content_moderation_state',
'settings' => [],
],
[
'#markup' => 'Published',
],
],
];
}
}