3 namespace Drupal\Tests\node\Kernel\Views;
5 use Drupal\node\Entity\Node;
6 use Drupal\node\Entity\NodeType;
7 use Drupal\Tests\views\Kernel\ViewsKernelTestBase;
8 use Drupal\views\Tests\ViewTestData;
9 use Drupal\views\Views;
12 * Ensures that the revision create time can be accessed in views.
16 class RevisionCreateTimestampTest extends ViewsKernelTestBase {
21 public static $modules = ['node_test_views', 'node', 'views', 'user'];
26 public static $testViews = ['test_node_revision_timestamp'];
31 protected function setUp($import_test_views = TRUE) {
32 parent::setUp($import_test_views);
34 $this->installSchema('node', 'node_access');
35 $this->installEntitySchema('node');
36 $this->installEntitySchema('user');
38 if ($import_test_views) {
39 ViewTestData::createTestViews(get_class($this), ['node_test_views']);
43 public function testRevisionCreateTimestampView() {
44 $node_type = NodeType::create([
49 $node = Node::create([
50 'title' => 'Test node',
52 'revision_timestamp' => 1000,
56 $node->setRevisionCreationTime(1200);
57 $node->setNewRevision(TRUE);
60 $node->setRevisionCreationTime(1400);
61 $node->setNewRevision(TRUE);
64 $view = Views::getView('test_node_revision_timestamp');
65 $this->executeView($view);
67 $this->assertIdenticalResultset($view, [
68 ['vid' => 3, 'revision_timestamp' => 1400],
69 ['vid' => 2, 'revision_timestamp' => 1200],
70 ['vid' => 1, 'revision_timestamp' => 1000],
71 ], ['vid' => 'vid', 'revision_timestamp' => 'revision_timestamp']);