3 namespace Drupal\Tests\node\Kernel\Views;
5 use Drupal\node\Entity\Node;
6 use Drupal\node\Entity\NodeType;
7 use Drupal\user\Entity\User;
8 use Drupal\Tests\views\Kernel\Handler\FieldFieldAccessTestBase;
11 * Tests base field access in Views for the node entity.
15 class NodeViewsFieldAccessTest extends FieldFieldAccessTestBase {
20 public static $modules = ['node', 'entity_test'];
25 protected function setUp($import_test_views = TRUE) {
26 parent::setUp($import_test_views);
28 $this->installEntitySchema('node');
32 * Check access for node fields.
34 public function testNodeFields() {
35 $user = User::create([
36 'name' => 'test user',
43 $node = Node::create([
45 'title' => 'Test title',
55 // @todo Expand the test coverage in https://www.drupal.org/node/2464635
57 $this->assertFieldAccess('node', 'nid', $node->id());
58 $this->assertFieldAccess('node', 'uuid', $node->uuid());
59 $this->assertFieldAccess('node', 'vid', $node->id());
60 $this->assertFieldAccess('node', 'type', $node->type->entity->label());
61 $this->assertFieldAccess('node', 'langcode', $node->language()->getName());
62 $this->assertFieldAccess('node', 'title', 'Test title');
63 $this->assertFieldAccess('node', 'uid', $user->getUsername());
64 // @todo Don't we want to display Published / Unpublished by default,
65 // see https://www.drupal.org/node/2465623
66 $this->assertFieldAccess('node', 'status', 'On');
67 $this->assertFieldAccess('node', 'promote', 'On');
68 $this->assertFieldAccess('node', 'sticky', 'Off');
70 // $this->assertFieldAccess('node', 'created', \Drupal::service('date.formatter')->format(123456));
71 // $this->assertFieldAccess('node', 'changed', \Drupal::service('date.formatter')->format(REQUEST_TIME));