You are here

public function PriceListRepositoryTest::testLoadItems in Commerce Pricelist 8.2

Tests loading price list items for the given context.

@covers ::loadItems

File

tests/src/Kernel/PriceListRepositoryTest.php, line 302

Class

PriceListRepositoryTest
Tests the price list repository.

Namespace

Drupal\Tests\commerce_pricelist\Kernel

Code

public function testLoadItems() {
  $price_list_item = PriceListItem::create([
    'type' => 'commerce_product_variation',
    'price_list_id' => $this->priceList
      ->id(),
    'purchasable_entity' => $this->variation
      ->id(),
    'quantity' => '10',
    'price' => new Price('7.00', 'USD'),
  ]);
  $price_list_item
    ->save();
  $price_list_item = $this
    ->reloadEntity($price_list_item);
  $another_price_list_item = PriceListItem::create([
    'type' => 'commerce_product_variation',
    'price_list_id' => $this->priceList
      ->id(),
    'purchasable_entity' => $this->variation
      ->id(),
    'quantity' => '3',
    'price' => new Price('6.00', 'USD'),
  ]);
  $another_price_list_item
    ->save();
  $another_price_list_item = $this
    ->reloadEntity($another_price_list_item);

  /** @var \Drupal\commerce_pricelist\PriceListRepositoryInterface $repository */
  $repository = $this->container
    ->get('commerce_pricelist.repository');
  $context = new Context($this->user, $this->store);
  $price_list_items = $repository
    ->loadItems($this->variation, $context);
  $this
    ->assertCount(3, $price_list_items);
  $this
    ->assertEquals(array_values($price_list_items), [
    $this->priceListItem,
    $another_price_list_item,
    $price_list_item,
  ]);
}