Mercurial > hg > isophonics-drupal-site
view core/modules/user/src/Tests/Views/ArgumentValidateTest.php @ 9:1fc0ff908d1f
Add another data file
author | Chris Cannam |
---|---|
date | Mon, 05 Feb 2018 12:34:32 +0000 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
<?php namespace Drupal\user\Tests\Views; use Drupal\Core\Form\FormState; use Drupal\views\Plugin\views\argument\ArgumentPluginBase; use Drupal\views\Views; /** * Tests user argument validators for ID and name. * * @group user */ class ArgumentValidateTest extends UserTestBase { /** * Views used by this test. * * @var array */ public static $testViews = ['test_view_argument_validate_user', 'test_view_argument_validate_username']; /** * A user for this test. * * @var \Drupal\user\UserInterface */ protected $account; protected function setUp() { parent::setUp(); $this->account = $this->drupalCreateUser(); } /** * Tests the User (ID) argument validator. */ public function testArgumentValidateUserUid() { $account = $this->account; $view = Views::getView('test_view_argument_validate_user'); $this->executeView($view); $this->assertTrue($view->argument['null']->validateArgument($account->id())); // Reset argument validation. $view->argument['null']->argument_validated = NULL; // Fail for a valid numeric, but for a user that doesn't exist $this->assertFalse($view->argument['null']->validateArgument(32)); $form = []; $form_state = new FormState(); $view->argument['null']->buildOptionsForm($form, $form_state); $sanitized_id = ArgumentPluginBase::encodeValidatorId('entity:user'); $this->assertTrue($form['validate']['options'][$sanitized_id]['roles']['#states']['visible'][':input[name="options[validate][options][' . $sanitized_id . '][restrict_roles]"]']['checked']); } /** * Tests the UserName argument validator. */ public function testArgumentValidateUserName() { $account = $this->account; $view = Views::getView('test_view_argument_validate_username'); $this->executeView($view); $this->assertTrue($view->argument['null']->validateArgument($account->getUsername())); // Reset argument validation. $view->argument['null']->argument_validated = NULL; // Fail for a valid string, but for a user that doesn't exist $this->assertFalse($view->argument['null']->validateArgument($this->randomMachineName())); } }