You are here

public function OrderCustomerRoleTest::testEvaluate in Commerce Core 8.2

::covers evaluate.

File

modules/order/tests/src/Unit/Plugin/Commerce/Condition/OrderCustomerRoleTest.php, line 19

Class

OrderCustomerRoleTest
@coversDefaultClass \Drupal\commerce_order\Plugin\Commerce\Condition\OrderCustomerRole @group commerce

Namespace

Drupal\Tests\commerce_order\Unit\Plugin\Commerce\Condition

Code

public function testEvaluate() {
  $condition = new OrderCustomerRole([
    'roles' => [
      'merchant',
    ],
  ], 'order_customer_role', [
    'entity_type' => 'commerce_order',
  ]);
  $customer = $this
    ->prophesize(UserInterface::class);
  $customer
    ->getRoles()
    ->willReturn([
    'authenticated',
  ]);
  $customer = $customer
    ->reveal();
  $order = $this
    ->prophesize(OrderInterface::class);
  $order
    ->getEntityTypeId()
    ->willReturn('commerce_order');
  $order
    ->getCustomer()
    ->willReturn($customer);
  $order = $order
    ->reveal();
  $this
    ->assertFalse($condition
    ->evaluate($order));
  $condition
    ->setConfiguration([
    'roles' => [
      'authenticated',
      'merchant',
    ],
  ]);
  $this
    ->assertTrue($condition
    ->evaluate($order));
}