enableViewsTestModule(); ViewTestData::createTestViews(get_class($this), ['views_test_data']); $this->webUser = $this->drupalCreateUser(); $normal_role = $this->drupalCreateRole([]); $this->normalUser = $this->drupalCreateUser(['views_test_data test permission']); $this->normalUser->addRole($normal_role); // @todo when all the plugin information is cached make a reset function and // call it here. } /** * Tests none access plugin. */ public function testAccessNone() { $view = Views::getView('test_access_none'); $view->setDisplay(); $this->assertTrue($view->display_handler->access($this->webUser)); $this->assertTrue($view->display_handler->access($this->normalUser)); } /** * @todo Test abstract access plugin. */ /** * Tests static access check. * * @see \Drupal\views_test\Plugin\views\access\StaticTest */ public function testStaticAccessPlugin() { $view = Views::getView('test_access_static'); $view->setDisplay(); $access_plugin = $view->display_handler->getPlugin('access'); $this->assertFalse($access_plugin->access($this->normalUser)); $this->drupalGet('test_access_static'); $this->assertResponse(403); $display = &$view->storage->getDisplay('default'); $display['display_options']['access']['options']['access'] = TRUE; $access_plugin->options['access'] = TRUE; $view->save(); // Saving a view will cause the router to be rebuilt when the kernel // termination event fires. Simulate that here. $this->container->get('router.builder')->rebuildIfNeeded(); $this->assertTrue($access_plugin->access($this->normalUser)); $this->drupalGet('test_access_static'); $this->assertResponse(200); } }