You are here

public function OrderTest::testOrderEntity in Ubercart 8.4

Tests order CRUD operations.

File

uc_order/tests/src/Functional/OrderTest.php, line 63

Class

OrderTest
Tests for Ubercart orders.

Namespace

Drupal\Tests\uc_order\Functional

Code

public function testOrderEntity() {
  $order = Order::create();
  $this
    ->assertEquals(0, $order
    ->getOwnerId(), 'New order is anonymous.');
  $this
    ->assertEquals('in_checkout', $order
    ->getStatusId(), 'New order is in checkout.');
  $name = $this
    ->randomMachineName();
  $order = Order::create([
    'uid' => $this->customer
      ->id(),
    'order_status' => 'completed',
    'billing_first_name' => $name,
    'billing_last_name' => $name,
  ]);
  $this
    ->assertEquals($this->customer
    ->id(), $order
    ->getOwnerId(), 'New order has correct uid.');
  $this
    ->assertEquals('completed', $order
    ->getStatusId(), 'New order is marked completed.');
  $this
    ->assertEquals($name, $order
    ->getAddress('billing')
    ->getFirstName(), 'New order has correct name.');
  $this
    ->assertEquals($name, $order
    ->getAddress('billing')
    ->getLastName(), 'New order has correct name.');

  // Test deletion.
  $order
    ->save();
  $storage = \Drupal::entityTypeManager()
    ->getStorage('uc_order');
  $entities = $storage
    ->loadMultiple([
    $order
      ->id(),
  ]);
  $storage
    ->delete($entities);
  $storage
    ->resetCache([
    $order
      ->id(),
  ]);
  $deleted_order = Order::load($order
    ->id());
  $this
    ->assertFalse($deleted_order, 'Order was successfully deleted');
}