You are here

function PaymentMethodConfigurationListBuilderTest::testBuildRow in Payment 8.2

@covers ::buildRow

File

tests/src/Unit/Entity/PaymentMethodConfiguration/PaymentMethodConfigurationListBuilderTest.php, line 105

Class

PaymentMethodConfigurationListBuilderTest
@coversDefaultClass \Drupal\payment\Entity\PaymentMethodConfiguration\PaymentMethodConfigurationListBuilder

Namespace

Drupal\Tests\payment\Unit\Entity\PaymentMethodConfiguration

Code

function testBuildRow() {
  $payment_method_configuration_entity_label = $this
    ->randomMachineName();
  $payment_method_configuration_entity_status = FALSE;
  $payment_method_configuration_plugin_id = $this
    ->randomMachineName();
  $payment_method_configuration_plugin_label = $this
    ->randomMachineName();
  $payment_method_configuration_plugin_definition = array(
    'label' => $payment_method_configuration_plugin_label,
  );
  $this->paymentMethodConfigurationManager
    ->expects($this
    ->any())
    ->method('getDefinition')
    ->with($payment_method_configuration_plugin_id)
    ->willReturn($payment_method_configuration_plugin_definition);
  $owner = $this
    ->getMockBuilder(UserInterface::class);
  $payment_method_configuration = $this
    ->createMock(PaymentMethodConfigurationInterface::class);
  $payment_method_configuration
    ->expects($this
    ->any())
    ->method('getOwner')
    ->willReturn($owner);
  $payment_method_configuration
    ->expects($this
    ->any())
    ->method('getPluginId')
    ->willReturn($payment_method_configuration_plugin_id);
  $payment_method_configuration
    ->expects($this
    ->any())
    ->method('label')
    ->willReturn($payment_method_configuration_entity_label);
  $this->moduleHandler
    ->expects($this
    ->any())
    ->method('invokeAll')
    ->willReturn([]);
  $build = $this->sut
    ->buildRow($payment_method_configuration);
  unset($build['data']['operations']['data']['#attached']);
  $expected_build = array(
    'data' => array(
      'label' => $payment_method_configuration_entity_label,
      'plugin' => $payment_method_configuration_plugin_label,
      'owner' => array(
        'data' => array(
          '#theme' => 'username',
          '#account' => $owner,
        ),
      ),
      'operations' => array(
        'data' => array(
          '#type' => 'operations',
          '#links' => [],
        ),
      ),
    ),
    'class' => array(
      'payment-method-configuration-disabled',
    ),
  );
  $this
    ->assertInstanceOf(TranslatableMarkup::class, $build['data']['status']);
  unset($build['data']['status']);
  $this
    ->assertSame($expected_build, $build);
}