You are here

protected function PaymentOrderUpdaterTest::setUp in Commerce Core 8.2

Overrides OrderKernelTestBase::setUp

File

modules/payment/tests/src/Kernel/PaymentOrderUpdaterTest.php, line 72

Class

PaymentOrderUpdaterTest
Tests the payment order updater.

Namespace

Drupal\Tests\commerce_payment\Kernel

Code

protected function setUp() : void {
  parent::setUp();
  $this
    ->installEntitySchema('commerce_payment');
  $this
    ->installEntitySchema('commerce_payment_method');
  $this
    ->installConfig('commerce_payment');
  $this->paymentOrderUpdater = $this->container
    ->get('commerce_payment.order_updater');
  $this->user = $this
    ->createUser();
  $payment_gateway = PaymentGateway::create([
    'id' => 'onsite',
    'label' => 'On-site',
    'plugin' => 'example_onsite',
  ]);
  $payment_gateway
    ->save();
  $profile = Profile::create([
    'type' => 'customer',
    'address' => [
      'country_code' => 'US',
      'postal_code' => '53177',
      'locality' => 'Milwaukee',
      'address_line1' => 'Pabst Blue Ribbon Dr',
      'administrative_area' => 'WI',
      'given_name' => 'Frederick',
      'family_name' => 'Pabst',
    ],
    'uid' => $this->user
      ->id(),
  ]);
  $profile
    ->save();
  $payment_method = PaymentMethod::create([
    'uid' => $this->user
      ->id(),
    'type' => 'credit_card',
    'payment_gateway' => 'onsite',
    'card_type' => 'visa',
    'card_number' => '1111',
    'billing_profile' => $profile,
    'reusable' => TRUE,
    'expires' => strtotime('2028/03/24'),
  ]);
  $payment_method
    ->setBillingProfile($profile);
  $payment_method
    ->save();
  $this->paymentMethod = $this
    ->reloadEntity($payment_method);
  $first_order_item = OrderItem::create([
    'type' => 'test',
    'quantity' => 1,
    'unit_price' => new Price('10', 'USD'),
  ]);
  $first_order_item
    ->save();
  $first_order = Order::create([
    'uid' => $this->user,
    'type' => 'default',
    'state' => 'draft',
    'order_items' => [
      $first_order_item,
    ],
    'store_id' => $this->store,
  ]);
  $first_order
    ->save();
  $this->firstOrder = $this
    ->reloadEntity($first_order);
  $second_order_item = OrderItem::create([
    'type' => 'test',
    'quantity' => 1,
    'unit_price' => new Price('20', 'USD'),
  ]);
  $second_order_item
    ->save();
  $second_order = Order::create([
    'uid' => $this->user,
    'type' => 'default',
    'state' => 'draft',
    'order_items' => [
      $second_order_item,
    ],
    'store_id' => $this->store,
  ]);
  $second_order
    ->save();
  $this->secondOrder = $this
    ->reloadEntity($second_order);
}