function ViewsViewFieldStatusTest::testRelationshipEntityPublicationState

Tests that the entity is resolved from the configured relationship.

File

core/themes/default_admin/tests/src/Kernel/ViewsViewFieldStatusTest.php, line 274

Class

ViewsViewFieldStatusTest
Tests the publication status marker of views status fields.

Namespace

Drupal\Tests\default_admin\Kernel

Code

public function testRelationshipEntityPublicationState() : void {
  $node = Node::create([
    'type' => 'page',
    'title' => 'Published relationship entity',
    'status' => TRUE,
  ]);
  $node->save();
  $this->createStatusView('test_relationship_status', 'node', 'status');
  $view = Views::getView('test_relationship_status');
  $this->executeView($view);
  $this->assertCount(1, $view->result);
  $field = $view->field['status'];
  $field->options['relationship'] = 'test_relationship';
  $row = $view->result[0];
  $row->_entity = NULL;
  $row->_relationship_entities['test_relationship'] = $node;
  $variables = [
    'field' => $field,
    'row' => $row,
  ];
  \Drupal::classResolver(PreprocessHooks::class)->preprocessViewsViewFieldStatus($variables);
  $this->assertTrue($variables['is_published']);
}

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