function UserMailRequiredValidatorTest::createValidator

Same name and namespace in other branches
  1. 8.9.x core/modules/user/tests/src/Unit/Plugin/Validation/Constraint/UserMailRequiredValidatorTest.php \Drupal\Tests\user\Unit\Plugin\Validation\Constraint\UserMailRequiredValidatorTest::createValidator()
  2. 10 core/modules/user/tests/src/Unit/Plugin/Validation/Constraint/UserMailRequiredValidatorTest.php \Drupal\Tests\user\Unit\Plugin\Validation\Constraint\UserMailRequiredValidatorTest::createValidator()
  3. 11.x core/modules/user/tests/src/Unit/Plugin/Validation/Constraint/UserMailRequiredValidatorTest.php \Drupal\Tests\user\Unit\Plugin\Validation\Constraint\UserMailRequiredValidatorTest::createValidator()

Creates a validator instance.

Parameters

bool $is_admin: Whether or not the current user is an administrator.

Return value

\Drupal\user\Plugin\Validation\Constraint\UserMailRequiredValidator The validator instance.

1 call to UserMailRequiredValidatorTest::createValidator()
UserMailRequiredValidatorTest::testValidate in core/modules/user/tests/src/Unit/Plugin/Validation/Constraint/UserMailRequiredValidatorTest.php
@covers ::validate

File

core/modules/user/tests/src/Unit/Plugin/Validation/Constraint/UserMailRequiredValidatorTest.php, line 32

Class

UserMailRequiredValidatorTest
@coversDefaultClass <a href="/api/drupal/core%21modules%21user%21src%21Plugin%21Validation%21Constraint%21UserMailRequiredValidator.php/class/UserMailRequiredValidator/9" title="Checks if the user&#039;s email address is provided if required." class="local">\Drupal\user\Plugin\Validation\Constraint\UserMailRequiredValidator</a> @group user

Namespace

Drupal\Tests\user\Unit\Plugin\Validation\Constraint

Code

protected function createValidator($is_admin) {
    // Setup mocks that don't need to change.
    $unchanged_account = $this->prophesize(UserInterface::class);
    $unchanged_account->getEmail()
        ->willReturn(NULL);
    $user_storage = $this->prophesize(UserStorageInterface::class);
    $user_storage->loadUnchanged(3)
        ->willReturn($unchanged_account->reveal());
    $entity_type_manager = $this->prophesize(EntityTypeManagerInterface::class);
    $entity_type_manager->getStorage('user')
        ->willReturn($user_storage->reveal());
    $current_user = $this->prophesize(AccountInterface::class);
    $current_user->id()
        ->willReturn(3);
    $current_user->hasPermission("administer users")
        ->willReturn($is_admin);
    $container = new ContainerBuilder();
    $container->set('entity_type.manager', $entity_type_manager->reveal());
    $container->set('current_user', $current_user->reveal());
    \Drupal::setContainer($container);
    return new UserMailRequiredValidator();
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.