ViewsDataIntegrationTest.php in Drupal 9
File
core/modules/content_moderation/tests/src/Kernel/ViewsDataIntegrationTest.php
View source
<?php
namespace Drupal\Tests\content_moderation\Kernel;
use Drupal\node\Entity\Node;
use Drupal\node\Entity\NodeType;
use Drupal\Tests\content_moderation\Traits\ContentModerationTestTrait;
use Drupal\Tests\views\Kernel\ViewsKernelTestBase;
use Drupal\views\Views;
class ViewsDataIntegrationTest extends ViewsKernelTestBase {
use ContentModerationTestTrait;
protected static $modules = [
'content_moderation_test_views',
'node',
'content_moderation',
'workflows',
'entity_test',
];
protected function setUp($import_test_views = TRUE) : void {
parent::setUp($import_test_views);
$this
->installEntitySchema('node');
$this
->installEntitySchema('entity_test_mulrevpub');
$this
->installEntitySchema('user');
$this
->installEntitySchema('content_moderation_state');
$this
->installSchema('node', 'node_access');
$this
->installConfig('content_moderation');
$node_type = NodeType::create([
'type' => 'page',
]);
$node_type
->save();
$workflow = $this
->createEditorialWorkflow();
$workflow
->getTypePlugin()
->addEntityTypeAndBundle('node', 'page');
$workflow
->getTypePlugin()
->addEntityTypeAndBundle('entity_test_mulrevpub', 'entity_test_mulrevpub');
$workflow
->save();
$this
->installConfig('content_moderation_test_views');
}
public function testContentModerationStateField() {
$node = Node::create([
'type' => 'page',
'title' => 'Test title',
]);
$node->moderation_state->value = 'published';
$node
->save();
$view = Views::getView('test_content_moderation_field_state_test');
$view
->execute();
$expected_result = [
[
'title' => 'Test title',
'moderation_state' => 'published',
],
];
$this
->assertIdenticalResultset($view, $expected_result, [
'title' => 'title',
'moderation_state' => 'moderation_state',
]);
}
}