3 namespace Drupal\block_content\Tests\Views;
5 use Drupal\block_content\Entity\BlockContentType;
6 use Drupal\block_content\Entity\BlockContent;
7 use Drupal\views\Tests\ViewTestBase;
8 use Drupal\views\Views;
9 use Drupal\views\Tests\ViewTestData;
12 * Tests the integration of block_content_revision table of block_content module.
14 * @group block_content
16 class RevisionRelationshipsTest extends ViewTestBase {
23 public static $modules = ['block_content' , 'block_content_test_views'];
26 * Views used by this test.
30 public static $testViews = ['test_block_content_revision_id', 'test_block_content_revision_revision_id'];
32 protected function setUp() {
34 BlockContentType::create([
39 ViewTestData::createTestViews(get_class($this), ['block_content_test_views']);
43 * Create a block_content with revision and rest result count for both views.
45 public function testBlockContentRevisionRelationship() {
46 $block_content = BlockContent::create([
47 'info' => $this->randomMachineName(),
51 $block_content->save();
52 // Create revision of the block_content.
53 $block_content_revision = clone $block_content;
54 $block_content_revision->setNewRevision();
55 $block_content_revision->save();
57 'revision_id' => 'revision_id',
59 'block_content_field_data_block_content_field_revision_id' => 'block_content_field_data_block_content_field_revision_id',
62 // Here should be two rows.
63 $view_id = Views::getView('test_block_content_revision_id');
64 $this->executeView($view_id, [$block_content->id()]);
69 'block_content_field_data_block_content_field_revision_id' => '1',
74 'block_content_field_data_block_content_field_revision_id' => '1',
77 $this->assertIdenticalResultset($view_id, $resultset_id, $column_map);
79 // There should be only one row with active revision 2.
80 $view_revision_id = Views::getView('test_block_content_revision_revision_id');
81 $this->executeView($view_revision_id, [$block_content->id()]);
82 $resultset_revision_id = [
86 'block_content_field_data_block_content_field_revision_id' => '1',
89 $this->assertIdenticalResultset($view_revision_id, $resultset_revision_id, $column_map);