X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Ftaxonomy%2Ftests%2Fsrc%2FKernel%2FViews%2FTaxonomyDefaultArgumentTest.php;fp=web%2Fcore%2Fmodules%2Ftaxonomy%2Ftests%2Fsrc%2FKernel%2FViews%2FTaxonomyDefaultArgumentTest.php;h=3b9ba26d87822ee02d52a5db08082b75aeec2149;hp=0000000000000000000000000000000000000000;hb=0bf8d09d2542548982e81a441b1f16e75873a04f;hpb=74df008bdbb3a11eeea356744f39b802369bda3c diff --git a/web/core/modules/taxonomy/tests/src/Kernel/Views/TaxonomyDefaultArgumentTest.php b/web/core/modules/taxonomy/tests/src/Kernel/Views/TaxonomyDefaultArgumentTest.php new file mode 100644 index 000000000..3b9ba26d8 --- /dev/null +++ b/web/core/modules/taxonomy/tests/src/Kernel/Views/TaxonomyDefaultArgumentTest.php @@ -0,0 +1,93 @@ +server->set('SCRIPT_NAME', $GLOBALS['base_path'] . 'index.php'); + $request->server->set('SCRIPT_FILENAME', 'index.php'); + + $response = $this->container->get('http_kernel') + ->handle($request, HttpKernelInterface::SUB_REQUEST); + + $view->setRequest($request); + $view->setResponse($response); + $view->initHandlers(); + + return $view; + } + + /** + * Tests the relationship. + */ + public function testNodePath() { + $view = $this->initViewWithRequest($this->nodes[0]->url()); + + $expected = implode(',', [$this->term1->id(), $this->term2->id()]); + $this->assertEqual($expected, $view->argument['tid']->getDefaultArgument()); + $view->destroy(); + } + + public function testNodePathWithViewSelection() { + // Change the term entity reference field to use a view as selection plugin. + \Drupal::service('module_installer')->install(['entity_reference_test']); + + $field_name = 'field_' . $this->vocabulary->id(); + $field = FieldConfig::loadByName('node', 'article', $field_name); + $field->setSetting('handler', 'views'); + $field->setSetting('handler_settings', [ + 'view' => [ + 'view_name' => 'test_entity_reference', + 'display_name' => 'entity_reference_1', + ], + ]); + $field->save(); + + $view = $this->initViewWithRequest($this->nodes[0]->url()); + + $expected = implode(',', [$this->term1->id(), $this->term2->id()]); + $this->assertEqual($expected, $view->argument['tid']->getDefaultArgument()); + } + + public function testTermPath() { + $view = $this->initViewWithRequest($this->term1->url()); + + $expected = $this->term1->id(); + $this->assertEqual($expected, $view->argument['tid']->getDefaultArgument()); + } + +}