public function PaymentMethodConfigurationAccessControlHandlerTest::testCheckAccessDuplicate in Payment 8.2
@covers ::checkAccess
@dataProvider providerTestCheckAccessDuplicate
File
- tests/
src/ Unit/ Entity/ PaymentMethodConfiguration/ PaymentMethodConfigurationAccessControlHandlerTest.php, line 264  
Class
- PaymentMethodConfigurationAccessControlHandlerTest
 - @coversDefaultClass \Drupal\payment\Entity\PaymentMethodConfiguration\PaymentMethodConfigurationAccessControlHandler
 
Namespace
Drupal\Tests\payment\Unit\Entity\PaymentMethodConfigurationCode
public function testCheckAccessDuplicate($expected, $has_create_permission, $has_view_permission) {
  $operation = 'duplicate';
  $bundle = $this
    ->randomMachineName();
  $account = $this
    ->createMock(AccountInterface::class);
  $map = [
    [
      'payment.payment_method_configuration.create.' . $bundle,
      $has_create_permission,
    ],
    [
      'payment.payment_method_configuration.view.any',
      $has_view_permission,
    ],
  ];
  $account
    ->expects($this
    ->any())
    ->method('hasPermission')
    ->willReturnMap($map);
  $language = $this
    ->createMock(LanguageInterface::class);
  $payment_method_configuration = $this
    ->getMockPaymentMethodConfiguration();
  $payment_method_configuration
    ->expects($this
    ->atLeastOnce())
    ->method('bundle')
    ->willReturn($bundle);
  $payment_method_configuration
    ->expects($this
    ->any())
    ->method('language')
    ->willReturn($language);
  $class = new \ReflectionClass($this->sut);
  $method = $class
    ->getMethod('checkAccess');
  $method
    ->setAccessible(TRUE);
  $this
    ->assertSame($expected, $method
    ->invokeArgs($this->sut, [
    $payment_method_configuration,
    $operation,
    $account,
  ])
    ->isAllowed());
}