You are here

public function PermissionsTest::testInvoke in Payment 8.2

@covers ::getPermissions

File

tests/src/Unit/PermissionsTest.php, line 70

Class

PermissionsTest
@coversDefaultClass \Drupal\payment\Permissions

Namespace

Drupal\Tests\payment\Unit

Code

public function testInvoke() {
  $payment_method_configuration_plugin_id = $this
    ->randomMachineName();
  $payment_method_configuration_label = $this
    ->randomMachineName();
  $payment_method_configuration_definitions = array(
    $payment_method_configuration_plugin_id => array(
      'label' => $payment_method_configuration_label,
    ),
  );
  $this->paymentMethodConfigurationManager
    ->expects($this
    ->once())
    ->method('getDefinitions')
    ->willReturn($payment_method_configuration_definitions);
  $permissions = $this->sut
    ->getPermissions();
  $this
    ->assertIsArray($permissions);
  foreach ($permissions as $permission) {
    $this
      ->assertIsArray($permission);
    $this
      ->assertArrayHasKey('title', $permission);
  }
  $this
    ->arrayHasKey('payment.payment_method_configuration.create.' . $payment_method_configuration_plugin_id, $permissions);
}