public function WishlistManagerTest::testMergeWishlist in Commerce Wishlist 8.3
Tests wishlist merge.
@covers ::merge
File
- tests/
src/ Kernel/ WishlistManagerTest.php, line 156
Class
- WishlistManagerTest
- Tests the wishlist manager.
Namespace
Drupal\Tests\commerce_wishlist\KernelCode
public function testMergeWishlist() {
$wishlist_item_1 = WishlistItem::create([
'type' => 'commerce_product_variation',
'purchasable_entity' => $this->productVariationFirst,
]);
$source = Wishlist::create([
'type' => 'test_1',
'name' => 'Source wishlist',
'wishlist_items' => [
$wishlist_item_1,
],
'uid' => 1,
]);
$source
->save();
$this
->reloadEntity($source);
$this
->assertEqual($source
->id(), $this->authenticatedUser
->id());
$wishlist_item_2 = WishlistItem::create([
'type' => 'commerce_product_variation',
'purchasable_entity' => $this->productVariationFirst,
]);
$wishlist_item_2
->save();
$this
->assertInstanceOf(WishlistItemInterface::class, $wishlist_item_2);
$target = Wishlist::create([
'type' => 'test_1',
'name' => 'Target wishlist',
'wishlist_items' => [
$wishlist_item_2,
],
'uid' => 1,
]);
$target
->save();
$this
->assertEqual(count($target
->getItems()), 1);
$this
->assertInstanceOf(WishlistInterface::class, $target);
$this->wishlistManager
->merge($source, $target);
$this
->reloadEntity($source);
$this
->reloadEntity($target);
$source = $this->entityTypeManager
->getStorage('commerce_wishlist')
->load($source
->id());
$target = $this->entityTypeManager
->getStorage('commerce_wishlist')
->load($target
->id());
$this
->assertInstanceOf(WishlistInterface::class, $target);
$this
->assertNotInstanceOf(WishlistInterface::class, $source);
$this
->assertEqual(count($target
->getItems()), 2);
}