You are here

public function PaymentFormTest::testFormElementProcess in Payment 8.2

@covers ::formElementProcess

File

modules/payment_form/tests/src/Unit/Plugin/Field/FieldWidget/PaymentFormTest.php, line 150

Class

PaymentFormTest
@coversDefaultClass \Drupal\payment_form\Plugin\Field\FieldWidget\PaymentForm

Namespace

Drupal\Tests\payment_form\Unit\Plugin\Field\FieldWidget

Code

public function testFormElementProcess() {
  $field_storage_definition = $this
    ->createMock(FieldStorageDefinitionInterface::class);
  $this->fieldDefinition
    ->expects($this
    ->atLeastOnce())
    ->method('getFieldStorageDefinition')
    ->willReturn($field_storage_definition);
  $iterator = new \ArrayIterator([
    (object) [
      'plugin_configuration' => [],
      'plugin_id' => $this
        ->randomMachineName(),
    ],
  ]);
  $items = $this
    ->getMockBuilder(FieldItemList::class)
    ->disableOriginalConstructor()
    ->setMethods([
    'getIterator',
  ])
    ->getMock();
  $items
    ->expects($this
    ->once())
    ->method('getIterator')
    ->willReturn($iterator);
  $element = [
    '#array_parents' => [
      'line_items',
    ],
    '#items' => $items,
  ];
  $form = [];
  $form_state = $this
    ->createMock(FormStateInterface::class);
  $element = $this->sut
    ->formElementProcess($element, $form_state, $form);
  $this
    ->assertIsArray($element);
  $this
    ->arrayHasKey('array_parents', $element);
  $this
    ->arrayHasKey('line_items', $element);
}