Pull merge.
[yaffs-website] / web / core / modules / user / tests / src / Functional / Views / FilterPermissionUiTest.php
1 <?php
2
3 namespace Drupal\Tests\user\Functional\Views;
4
5 use Drupal\Tests\views\Functional\ViewTestBase;
6 use Drupal\views\Tests\ViewTestData;
7
8 /**
9  * Tests the permission field handler ui.
10  *
11  * @group user
12  * @see \Drupal\user\Plugin\views\filter\Permissions
13  */
14 class FilterPermissionUiTest extends ViewTestBase {
15
16   /**
17    * Views used by this test.
18    *
19    * @var array
20    */
21   public static $testViews = ['test_filter_permission'];
22
23   /**
24    * Modules to enable.
25    *
26    * @var array
27    */
28   public static $modules = ['user', 'user_test_views', 'views_ui'];
29
30   protected function setUp($import_test_views = TRUE) {
31     parent::setUp($import_test_views);
32
33     ViewTestData::createTestViews(get_class($this), ['user_test_views']);
34     $this->enableViewsTestModule();
35   }
36
37   /**
38    * Tests basic filter handler settings in the UI.
39    */
40   public function testHandlerUI() {
41     $this->drupalLogin($this->drupalCreateUser(['administer views', 'administer users']));
42
43     $this->drupalGet('admin/structure/views/view/test_filter_permission/edit/default');
44     // Verify that the handler summary is correctly displaying the selected
45     // permission.
46     $this->assertLink('User: Permission (= View user information)');
47     $this->drupalPostForm(NULL, [], 'Save');
48     // Verify that we can save the view.
49     $this->assertNoText('No valid values found on filter: User: Permission.');
50     $this->assertText('The view test_filter_permission has been saved.');
51
52     // Verify that the handler summary is also correct when multiple values are
53     // selected in the filter.
54     $edit = [
55       'options[value][]' => [
56         'access user profiles',
57         'administer views',
58       ],
59     ];
60     $this->drupalPostForm('admin/structure/views/nojs/handler/test_filter_permission/default/filter/permission', $edit, 'Apply');
61     $this->assertLink('User: Permission (or View us…)');
62     $this->drupalPostForm(NULL, [], 'Save');
63     // Verify that we can save the view.
64     $this->assertNoText('No valid values found on filter: User: Permission.');
65     $this->assertText('The view test_filter_permission has been saved.');
66   }
67
68 }