You are here

public function RelationViewsTest::testSymmetricRelations in Relation 8.2

Same name and namespace in other branches
  1. 8 src/Tests/RelationViewsTest.php \Drupal\relation\Tests\RelationViewsTest::testSymmetricRelations()

Tests views with symmetric relations.

File

src/Tests/RelationViewsTest.php, line 108

Class

RelationViewsTest
Relation Views test

Namespace

Drupal\relation\Tests

Code

public function testSymmetricRelations() {

  /*
  foreach (array(FALSE, TRUE) as $required) {
    $view = new view();
    $handler = $view->new_display('default');
    $handler->display->display_options['relationships']['relation_symmetric_node']['id'] = 'relation_symmetric_node';
    $handler->display->display_options['relationships']['relation_symmetric_node']['table'] = 'node';
    $handler->display->display_options['relationships']['relation_symmetric_node']['field'] = 'relation_symmetric_node';
    $handler->display->display_options['relationships']['relation_symmetric_node']['required'] = $required;
    $handler->display->display_options['fields']['nid']['id'] = 'nid';
    $handler->display->display_options['fields']['nid']['table'] = 'node';
    $handler->display->display_options['fields']['nid']['field'] = 'nid';
    $handler->display->display_options['fields']['nid']['relationship'] = 'relation_symmetric_node';
    $handler->display->display_options['fields']['nid2']['id'] = 'nid2';
    $handler->display->display_options['fields']['nid2']['table'] = 'node';
    $handler->display->display_options['fields']['nid2']['field'] = 'nid';
    $handler->display->display_options['arguments']['nid']['id'] = 'nid';
    $handler->display->display_options['arguments']['nid']['table'] = 'node';
    $handler->display->display_options['arguments']['nid']['field'] = 'nid';

    // The result should be the same for required and non-required for
    // argument node 1: Relation from 1 to 4.
    $view->set_arguments(array($this->node1->nid));
    $view->execute();

    $this->assertEqual(count($view->result), 1);
    $result = array_pop($view->result);
    $this->assertEqual($result->nid, $this->node1->nid);
    $this->assertEqual($result->node_node_nid, $this->node4->nid);

    $view = $view->clone_view();

    // The result should be different for required and non-required for
    // argument node 6: for required, there should be no results. For
    // non-required, node 6 may be returned.
    $view->set_arguments(array($this->node6->nid));
    $view->execute();

    if ($required) {
      $this->assertEqual(count($view->result), 0);
    }
    else {
      $this->assertEqual(count($view->result), 1);
      $result = array_pop($view->result);
      $this->assertEqual($result->nid, $this->node6->nid);
      $this->assertEqual($result->node_node_nid, NULL);
    }
  }
  */
}