public function WishlistItemDeleteTest::testDelete in Commerce Wishlist 8.3
Tests deleting wishlist items.
@covers ::processItem
File
- tests/
src/ Kernel/ QueueWorker/ WishlistItemDeleteTest.php, line 45
Class
- WishlistItemDeleteTest
- Tests deleting wishlist items via cron.
Namespace
Drupal\Tests\commerce_wishlist\Kernel\QueueWorkerCode
public function testDelete() {
/** @var \Drupal\commerce_product\Entity\ProductVariationInterface $variation */
$first_variation = ProductVariation::create([
'type' => 'default',
'sku' => $this
->randomMachineName(),
'title' => $this
->randomString(),
'status' => 1,
]);
$first_variation
->save();
/** @var \Drupal\commerce_product\Entity\ProductVariationInterface $variation */
$second_variation = ProductVariation::create([
'type' => 'default',
'sku' => $this
->randomMachineName(),
'title' => $this
->randomString(),
'status' => 1,
]);
$second_variation
->save();
/** @var \Drupal\commerce_wishlist\Entity\WishlistItemInterface $wishlist_item */
$first_wishlist_item = WishlistItem::create([
'type' => 'commerce_product_variation',
'purchasable_entity' => $first_variation,
]);
$first_wishlist_item
->save();
/** @var \Drupal\commerce_wishlist\Entity\WishlistItemInterface $wishlist_item */
$second_wishlist_item = WishlistItem::create([
'type' => 'commerce_product_variation',
'purchasable_entity' => $second_variation,
]);
$second_wishlist_item
->save();
$wishlist = Wishlist::create([
'type' => 'default',
'name' => 'My wishlist',
'wishlist_items' => [
$first_wishlist_item,
$second_wishlist_item,
],
]);
$wishlist
->save();
$first_variation
->delete();
$this->container
->get('cron')
->run();
// Confirm that the first wishlist item has been deleted.
$first_wishlist_item = $this
->reloadEntity($first_wishlist_item);
$second_wishlist_item = $this
->reloadEntity($second_wishlist_item);
$this
->assertEmpty($first_wishlist_item);
$this
->assertNotEmpty($second_wishlist_item);
/** @var \Drupal\commerce_wishlist\Entity\WishlistInterface $wishlist */
$wishlist = $this
->reloadEntity($wishlist);
$wishlist_items = $wishlist
->getItems();
$wishlist_item = reset($wishlist_items);
$this
->assertCount(1, $wishlist_items);
$this
->assertEquals($second_wishlist_item
->id(), $wishlist_item
->id());
}