function FilterEntityReferenceTest::setUp
Same name in this branch
- 11.x core/modules/views_ui/tests/src/FunctionalJavascript/FilterEntityReferenceTest.php \Drupal\Tests\views_ui\FunctionalJavascript\FilterEntityReferenceTest::setUp()
Same name and namespace in other branches
- main core/modules/views/tests/src/Kernel/Handler/FilterEntityReferenceTest.php \Drupal\Tests\views\Kernel\Handler\FilterEntityReferenceTest::setUp()
- main core/modules/views_ui/tests/src/FunctionalJavascript/FilterEntityReferenceTest.php \Drupal\Tests\views_ui\FunctionalJavascript\FilterEntityReferenceTest::setUp()
Parameters
bool $import_test_views: Should the views specified on the test class be imported. If you need to setup some additional stuff, like fields, you need to call false and then call createTestViews for your own.
Overrides ViewsKernelTestBase::setUp
File
-
core/
modules/ views/ tests/ src/ Kernel/ Handler/ FilterEntityReferenceTest.php, line 79
Class
- FilterEntityReferenceTest
- Tests the core Drupal\views\Plugin\views\filter\EntityReference handler.
Namespace
Drupal\Tests\views\Kernel\HandlerCode
protected function setUp($import_test_views = TRUE) : void {
parent::setUp(FALSE);
$this->installEntitySchema('node');
$this->installEntitySchema('user');
$this->installConfig([
'node',
'user',
'filter',
]);
ViewTestData::createTestViews(static::class, [
'views_test_config',
]);
// Create two node types.
$this->createContentType([
'type' => 'page',
]);
$this->createContentType([
'type' => 'article',
]);
// Add an entity reference field to the page type referencing the article
// type.
$selection_handler_settings = [
'target_bundles' => [
'article' => 'article',
],
];
$this->createEntityReferenceField('node', 'page', 'field_test', 'Test reference', 'node', $selection_handler = 'default', $selection_handler_settings, FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED);
// Create user 1.
$this->user1 = $this->createUser();
$this->user2 = $this->createUser();
// Create target nodes to be referenced.
foreach (range(0, 5) as $count) {
$this->targetNodes[$count] = $this->createNode([
'type' => 'article',
'title' => 'Article ' . $count,
'status' => 1,
'uid' => $this->user1,
]);
}
// Create a page referencing Article 0 and Article 1.
$this->hostNodes[0] = $this->createNode([
'type' => 'page',
'title' => 'Page 0',
'status' => 1,
'created' => time(),
'field_test' => [
$this->targetNodes[0]
->id(),
$this->targetNodes[1]
->id(),
],
'uid' => $this->user2,
]);
// Create a page referencing Article 1, Article 2, and Article 3.
$this->hostNodes[1] = $this->createNode([
'type' => 'page',
'title' => 'Page 1',
'status' => 1,
'created' => time() - 100,
'field_test' => [
$this->targetNodes[1]
->id(),
$this->targetNodes[2]
->id(),
$this->targetNodes[3]
->id(),
],
'uid' => $this->user2,
]);
// Create a page referencing nothing.
$this->hostNodes[2] = $this->createNode([
'type' => 'page',
'title' => 'Page 2',
'status' => 1,
'created' => time() - 200,
'uid' => $this->user2,
]);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.