You are here

public function ShipmentQuantityTest::testEvaluate in Commerce Shipping 8.2

@covers ::evaluate

@dataProvider quantityProvider

File

tests/src/Unit/Plugin/Commerce/Condition/ShipmentQuantityTest.php, line 22

Class

ShipmentQuantityTest
@coversDefaultClass \Drupal\commerce_shipping\Plugin\Commerce\Condition\ShipmentQuantity @group commerce

Namespace

Drupal\Tests\commerce_shipping\Unit\Plugin\Commerce\Condition

Code

public function testEvaluate($operator, $quantity, $given_quantity, $result) {
  $shipment_items = [];
  $shipment_items[] = new ShipmentItem([
    'order_item_id' => '1',
    'title' => 'Product 1',
    'quantity' => $given_quantity,
    'weight' => [
      'number' => '1000.00',
      'unit' => 'g',
    ],
    'declared_value' => new Price('10', 'USD'),
  ]);
  $shipment = $this
    ->prophesize(ShipmentInterface::class);
  $shipment
    ->getEntityTypeId()
    ->willReturn('commerce_shipment');
  $shipment
    ->getItems()
    ->willReturn($shipment_items);
  $shipment = $shipment
    ->reveal();
  $condition = new ShipmentQuantity([
    'operator' => $operator,
    'quantity' => $quantity,
  ], 'shipment_quantity', [
    'entity_type' => 'commerce_shipment',
  ]);
  $this
    ->assertEquals($result, $condition
    ->evaluate($shipment));
}