public function OrderPaymentGatewayTest::testOrderPaymentGateway in Commerce Core 8.2
Covers evaluate.
File
- modules/
payment/ tests/ src/ Unit/ Plugin/ Commerce/ Condition/ OrderPaymentGatewayTest.php, line 41
Class
- OrderPaymentGatewayTest
- @coversDefaultClass \Drupal\commerce_payment\Plugin\Commerce\Condition\OrderPaymentGateway @group commerce
Namespace
Drupal\Tests\commerce_payment\Unit\Plugin\Commerce\ConditionCode
public function testOrderPaymentGateway() {
$entity_reference_item = $this
->prophesize(EntityReferenceItem::class);
$entity_reference_item
->getValue()
->willReturn([
'target_id' => 'test_payment',
]);
$entity_reference_item_list = $this
->prophesize(EntityReferenceFieldItemList::class);
$entity_reference_item_list
->isEmpty()
->willReturn(FALSE);
$entity_reference_item_list
->first()
->willReturn($entity_reference_item
->reveal());
$entity_reference_item_list = $entity_reference_item_list
->reveal();
$order = $this
->prophesize(OrderInterface::class);
$order
->getEntityTypeId()
->willReturn('commerce_order');
$order
->get('payment_gateway')
->willReturn($entity_reference_item_list);
$order = $order
->reveal();
$condition = new OrderPaymentGateway([
'payment_gateways' => [],
], 'order_payment_gateway', [
'entity_type' => 'commerce_order',
]);
$this
->assertFalse($condition
->evaluate($order));
$condition = new OrderPaymentGateway([
'payment_gateways' => [
'cash_on_delivery',
'bank_transfer',
],
], 'order_payment_gateway', [
'entity_type' => 'commerce_order',
]);
$this
->assertFalse($condition
->evaluate($order));
$condition = new OrderPaymentGateway([
'payment_gateways' => [
'cash_on_delivery',
'test_payment',
],
], 'order_payment_gateway', [
'entity_type' => 'commerce_order',
]);
$this
->assertTrue($condition
->evaluate($order));
}