public function PaymentMethodConfigurationAccessControlHandlerTest::testCheckAccessDisable in Payment 8.2
@covers ::checkAccess
@dataProvider providerTestCheckAccessDisable
File
- tests/
src/ Unit/ Entity/ PaymentMethodConfiguration/ PaymentMethodConfigurationAccessControlHandlerTest.php, line 221
Class
- PaymentMethodConfigurationAccessControlHandlerTest
- @coversDefaultClass \Drupal\payment\Entity\PaymentMethodConfiguration\PaymentMethodConfigurationAccessControlHandler
Namespace
Drupal\Tests\payment\Unit\Entity\PaymentMethodConfigurationCode
public function testCheckAccessDisable($expected, $payment_method_configuration_status, $has_update_permission) {
$operation = 'disable';
$account = $this
->createMock(AccountInterface::class);
$map = [
[
'payment.payment_method_configuration.update.any',
$has_update_permission,
],
[
'payment.payment_method_configuration.update.own',
FALSE,
],
];
$account
->expects($this
->atLeastOnce())
->method('hasPermission')
->willReturnMap($map);
$payment_method_configuration = $this
->getMockPaymentMethodConfiguration();
$payment_method_configuration
->expects($this
->atLeastOnce())
->method('status')
->willReturn($payment_method_configuration_status);
$this
->setUpLanguage($payment_method_configuration);
$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());
}