You are here

public function ViewPaymentsByOwnerTest::testValidateArgument in Payment 8.2

@covers ::validateArgument

@dataProvider providerValidateArgument

File

tests/src/Unit/Plugin/views/argument_validator/ViewPaymentsByOwnerTest.php, line 106

Class

ViewPaymentsByOwnerTest
@coversDefaultClass \Drupal\payment\Plugin\views\argument_validator\ViewPaymentsByOwner

Namespace

Drupal\Tests\payment\Unit\Plugin\views\argument_validator

Code

public function testValidateArgument($expected_validity, $argument, $current_user_id, array $permissions) {
  $entity = $this
    ->createMock(EntityInterface::class);
  $entity_storage = $this
    ->createMock(EntityStorageInterface::class);
  $entity_storage
    ->expects($this
    ->atLeastOnce())
    ->method('loadMultiple')
    ->willReturn([
    7 => $entity,
    9 => $entity,
  ]);
  $this->entityTypeManager
    ->expects($this
    ->atLeastOnce())
    ->method('getStorage')
    ->with($this->pluginDefinition['entity_type'])
    ->willReturn($entity_storage);
  $this->currentUser
    ->expects($this
    ->any())
    ->method('id')
    ->willReturn($current_user_id);
  $map = [];
  foreach ($permissions as $permission) {
    $map[] = [
      $permission,
      TRUE,
    ];
  }
  $this->currentUser
    ->expects($this
    ->any())
    ->method('hasPermission')
    ->willReturnMap($map);
  $this
    ->assertSame($expected_validity, $this->sut
    ->validateArgument($argument));
}