You are here

public function PaymentLineItemsInputTest::testGetLineItems in Payment 8.2

@covers ::setLineItems @covers ::getLineItems

File

tests/src/Unit/Element/PaymentLineItemsInputTest.php, line 229

Class

PaymentLineItemsInputTest
@coversDefaultClass \Drupal\payment\Element\PaymentLineItemsInput

Namespace

Drupal\Tests\payment\Unit\Element

Code

public function testGetLineItems() {
  $line_item_a = $this
    ->createMock(PaymentLineItemInterface::class);
  $line_item_b = $this
    ->createMock(PaymentLineItemInterface::class);
  $line_items = array(
    $line_item_a,
    $line_item_b,
  );
  $element = array(
    '#name' => $this
      ->randomMachineName(),
    '#parents' => array(
      $this
        ->randomMachineName(),
      $this
        ->randomMachineName(),
    ),
  );
  $form_state = new FormState();
  $method_get = new \ReflectionMethod($this->sut, 'getLineItems');
  $method_get
    ->setAccessible(TRUE);
  $method_set = new \ReflectionMethod($this->sut, 'setLineItems');
  $method_set
    ->setAccessible(TRUE);
  $this
    ->assertSame([], $method_get
    ->invoke($this->sut, $element, $form_state));
  $method_set
    ->invoke($this->sut, $element, $form_state, $line_items);
  $this
    ->assertSame($line_items, $method_get
    ->invoke($this->sut, $element, $form_state));
}