RevisionCreateTimestampTest.php

Same filename and directory in other branches
  1. 9 core/modules/node/tests/src/Kernel/Views/RevisionCreateTimestampTest.php
  2. 10 core/modules/node/tests/src/Kernel/Views/RevisionCreateTimestampTest.php
  3. 11.x core/modules/node/tests/src/Kernel/Views/RevisionCreateTimestampTest.php

Namespace

Drupal\Tests\node\Kernel\Views

File

core/modules/node/tests/src/Kernel/Views/RevisionCreateTimestampTest.php

View source
<?php

namespace Drupal\Tests\node\Kernel\Views;

use Drupal\node\Entity\Node;
use Drupal\node\Entity\NodeType;
use Drupal\Tests\views\Kernel\ViewsKernelTestBase;
use Drupal\views\Tests\ViewTestData;
use Drupal\views\Views;

/**
 * Ensures that the revision create time can be accessed in views.
 *
 * @group views
 */
class RevisionCreateTimestampTest extends ViewsKernelTestBase {
    
    /**
     * {@inheritdoc}
     */
    public static $modules = [
        'node_test_views',
        'node',
        'views',
        'user',
    ];
    
    /**
     * {@inheritdoc}
     */
    public static $testViews = [
        'test_node_revision_timestamp',
    ];
    
    /**
     * {@inheritdoc}
     */
    protected function setUp($import_test_views = TRUE) {
        parent::setUp($import_test_views);
        $this->installSchema('node', 'node_access');
        $this->installEntitySchema('node');
        $this->installEntitySchema('user');
        if ($import_test_views) {
            ViewTestData::createTestViews(get_class($this), [
                'node_test_views',
            ]);
        }
    }
    public function testRevisionCreateTimestampView() {
        $node_type = NodeType::create([
            'type' => 'article',
            'label' => 'Article',
        ]);
        $node_type->save();
        $node = Node::create([
            'title' => 'Test node',
            'type' => 'article',
            'revision_timestamp' => 1000,
        ]);
        $node->save();
        $node->setRevisionCreationTime(1200);
        $node->setNewRevision(TRUE);
        $node->save();
        $node->setRevisionCreationTime(1400);
        $node->setNewRevision(TRUE);
        $node->save();
        $view = Views::getView('test_node_revision_timestamp');
        $this->executeView($view);
        $this->assertIdenticalResultset($view, [
            [
                'vid' => 3,
                'revision_timestamp' => 1400,
            ],
            [
                'vid' => 2,
                'revision_timestamp' => 1200,
            ],
            [
                'vid' => 1,
                'revision_timestamp' => 1000,
            ],
        ], [
            'vid' => 'vid',
            'revision_timestamp' => 'revision_timestamp',
        ]);
    }

}

Classes

Title Deprecated Summary
RevisionCreateTimestampTest Ensures that the revision create time can be accessed in views.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.