public function PriceListItemTest::testImportPriceListItemsWithBadPrices in Commerce Pricelist 8.2
Tests importing price list items with badly formatted prices.
File
- tests/
src/ Functional/ PriceListItemTest.php, line 350
Class
- PriceListItemTest
- Tests the price list item UI.
Namespace
Drupal\Tests\commerce_pricelist\FunctionalCode
public function testImportPriceListItemsWithBadPrices() {
$this
->drupalGet($this->priceListItemCollectionUri);
$this
->clickLink('Import prices');
$this
->submitForm([
'files[csv]' => __DIR__ . '/../../fixtures/price_list_invalid_prices.csv',
'mapping[purchasable_entity_column_type]' => 'sku',
'mapping[purchasable_entity_column]' => 'product_variation',
'mapping[quantity_column]' => 'quantity',
'mapping[list_price_column]' => 'list_price',
'mapping[price_column]' => 'price',
'mapping[currency_column]' => 'currency_code',
'options[delimiter]' => ',',
'options[enclosure]' => '"',
], 'Import prices');
$this
->assertSession()
->pageTextContains('Imported 1 price.');
// We have a badly formatted price in there as well, which we are expecting
// to be skipped.
$this
->assertSession()
->pageTextContains('Skipped 1 price during import.');
$price_list_item_storage = $this->container
->get('entity_type.manager')
->getStorage('commerce_pricelist_item');
$price_list_item = $price_list_item_storage
->load(1);
$this
->assertEquals($this->priceList
->id(), $price_list_item
->getPriceListId());
$this
->assertEquals($this->firstVariation
->id(), $price_list_item
->getPurchasableEntityId());
$this
->assertEquals('1', $price_list_item
->getQuantity());
$this
->assertEquals(new Price('4000', 'USD'), $price_list_item
->getPrice());
}