You are here

public function SetStatusTest::testExecute in Payment 8.2

@covers ::execute

File

tests/src/Unit/Plugin/Action/SetStatusTest.php, line 213

Class

SetStatusTest
@coversDefaultClass \Drupal\payment\Plugin\Action\SetStatus

Namespace

Drupal\Tests\payment\Unit\Plugin\Action

Code

public function testExecute() {
  $plugin_id = $this
    ->randomMachineName();
  $status = $this
    ->createMock(PaymentStatusInterface::class);
  $this->paymentStatusManager
    ->expects($this
    ->once())
    ->method('createInstance')
    ->with($plugin_id)
    ->willReturn($status);
  $payment = $this
    ->createMock(PaymentInterface::class);
  $payment
    ->expects($this
    ->once())
    ->method('setPaymentStatus')
    ->with($status);
  $this->sut
    ->setConfiguration(array(
    'payment_status_plugin_id' => $plugin_id,
  ));

  // Test execution without an argument to make sure it fails silently.
  $this->sut
    ->execute();
  $this->sut
    ->execute($payment);
}