Chris@0: enableViewsTestModule(); Chris@0: Chris@0: $this->adminUser = $this->drupalCreateUser(['administer views']); Chris@0: Chris@0: $this->fullAdminUser = $this->drupalCreateUser(['administer views', Chris@0: 'administer blocks', Chris@0: 'bypass node access', Chris@0: 'access user profiles', Chris@0: 'view all revisions', Chris@0: 'administer permissions', Chris@0: ]); Chris@0: $this->drupalLogin($this->fullAdminUser); Chris@0: Chris@0: @trigger_error('\Drupal\views_ui\Tests\UITestBase is deprecated in Drupal 8.4.0 and will be removed before Drupal 9.0.x. Instead, use \Drupal\Tests\views_ui\Functional\UITestBase', E_USER_DEPRECATED); Chris@0: } Chris@0: Chris@0: /** Chris@0: * A helper method which creates a random view. Chris@0: */ Chris@0: public function randomView(array $view = []) { Chris@0: // Create a new view in the UI. Chris@0: $default = []; Chris@0: $default['label'] = $this->randomMachineName(16); Chris@0: $default['id'] = strtolower($this->randomMachineName(16)); Chris@0: $default['description'] = $this->randomMachineName(16); Chris@0: $default['page[create]'] = TRUE; Chris@0: $default['page[path]'] = $default['id']; Chris@0: Chris@0: $view += $default; Chris@0: Chris@0: $this->drupalPostForm('admin/structure/views/add', $view, t('Save and edit')); Chris@0: Chris@0: return $default; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: protected function drupalGet($path, array $options = [], array $headers = []) { Chris@0: $url = $this->buildUrl($path, $options); Chris@0: Chris@0: // Ensure that each nojs page is accessible via ajax as well. Chris@0: if (strpos($url, 'nojs') !== FALSE) { Chris@0: $url = str_replace('nojs', 'ajax', $url); Chris@0: $result = $this->drupalGet($url, $options, $headers); Chris@0: $this->assertResponse(200); Chris@0: $this->assertHeader('Content-Type', 'application/json'); Chris@0: $this->assertTrue(json_decode($result), 'Ensure that the AJAX request returned valid content.'); Chris@0: } Chris@0: Chris@0: return parent::drupalGet($path, $options, $headers); Chris@0: } Chris@0: Chris@0: }