X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Fuser%2Ftests%2Fsrc%2FKernel%2FViews%2FHandlerFieldPermissionTest.php;fp=web%2Fcore%2Fmodules%2Fuser%2Ftests%2Fsrc%2FKernel%2FViews%2FHandlerFieldPermissionTest.php;h=0d212218414378f0051cb2ad74e2a3e89c6fdfde;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hp=0000000000000000000000000000000000000000;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad;p=yaffs-website diff --git a/web/core/modules/user/tests/src/Kernel/Views/HandlerFieldPermissionTest.php b/web/core/modules/user/tests/src/Kernel/Views/HandlerFieldPermissionTest.php new file mode 100644 index 000000000..0d2122184 --- /dev/null +++ b/web/core/modules/user/tests/src/Kernel/Views/HandlerFieldPermissionTest.php @@ -0,0 +1,53 @@ +setupPermissionTestData(); + + $view = Views::getView('test_field_permission'); + $this->executeView($view); + $view->initStyle(); + $view->render(); + $style_plugin = $view->style_plugin; + + $expected_permissions = []; + $expected_permissions[$this->users[0]->id()] = []; + $expected_permissions[$this->users[1]->id()] = []; + $expected_permissions[$this->users[2]->id()][] = t('Administer permissions'); + // View user profiles comes first, because we sort by the permission + // machine name. + $expected_permissions[$this->users[3]->id()][] = t('View user information'); + $expected_permissions[$this->users[3]->id()][] = t('Administer permissions'); + $expected_permissions[$this->users[3]->id()][] = t('Administer users'); + + foreach ($view->result as $index => $row) { + $uid = $view->field['uid']->getValue($row); + $rendered_permission = $style_plugin->getField($index, 'permission'); + + $expected_output = implode(', ', $expected_permissions[$uid]); + $this->assertEqual($rendered_permission, $expected_output, 'The right permissions are rendered.'); + } + } + +}