public function WishlistAssignmentTest::testAssignMultipleWishlist in Commerce Wishlist 8.3
Tests multiple wishlist assignment.
@covers ::assignMultiple
File
- tests/
src/ Kernel/ WishlistAssignmentTest.php, line 151
Class
- WishlistAssignmentTest
- Tests the wishlist assignment.
Namespace
Drupal\Tests\commerce_wishlist\KernelCode
public function testAssignMultipleWishlist() {
$default_wishlist = $this->entityTypeManager
->getStorage('commerce_wishlist')
->loadDefaultByUser($this->authenticatedUser, 'test_1');
$this
->assertEmpty($default_wishlist);
$wishlist_item_1 = WishlistItem::create([
'type' => 'commerce_product_variation',
'purchasable_entity' => $this->productVariationFirst,
]);
$wishlist_item_1
->save();
$this
->assertInstanceOf(WishlistItemInterface::class, $wishlist_item_1);
$wishlist_item_2 = WishlistItem::create([
'type' => 'commerce_product_variation',
'purchasable_entity' => $this->productVariationSecond,
]);
$wishlist_item_2
->save();
$this
->assertInstanceOf(WishlistItemInterface::class, $wishlist_item_1);
$wishlist_1 = Wishlist::create([
'type' => 'test_1',
'name' => 'First wishlist',
'wishlist_items' => [
$wishlist_item_1,
],
'uid' => 0,
]);
$wishlist_1
->save();
$this
->assertInstanceOf(WishlistInterface::class, $wishlist_1);
$wishlist_2 = Wishlist::create([
'type' => 'test_1',
'name' => 'First wishlist',
'wishlist_items' => [
$wishlist_item_2,
$wishlist_item_1,
],
'uid' => 0,
]);
$wishlist_2
->save();
$this
->assertInstanceOf(WishlistInterface::class, $wishlist_2);
$wishlists = [
$wishlist_1,
$wishlist_2,
];
$this->wishlistAssignment
->assignMultiple($wishlists, $this->authenticatedUser);
$this
->reloadEntity($wishlist_1);
$this
->reloadEntity($wishlist_2);
$this
->assertEqual($wishlist_1
->getOwnerId(), $this->authenticatedUser
->id());
$this
->assertEqual($wishlist_2
->getOwnerId(), $this->authenticatedUser
->id());
$this
->config('commerce_wishlist.settings')
->set('allow_multiple', 0)
->save();
$another_user = $this
->createUser();
$default_wishlist = $this->entityTypeManager
->getStorage('commerce_wishlist')
->loadDefaultByUser($another_user, 'test_1');
$this
->assertEmpty($default_wishlist);
$wishlist = Wishlist::create([
'type' => 'test_1',
'name' => 'First wishlist',
'wishlist_items' => [
$wishlist_item_1,
],
'uid' => $another_user
->id(),
'is_default' => TRUE,
]);
$wishlist
->save();
$default_wishlist = $this->entityTypeManager
->getStorage('commerce_wishlist')
->loadDefaultByUser($another_user, 'test_1');
$this
->assertNotEmpty($default_wishlist);
$anonymous_wishlist = Wishlist::create([
'type' => 'test_1',
'name' => 'Anonymous wishlist',
'wishlist_items' => [
$wishlist_item_2,
],
'uid' => 0,
]);
$anonymous_wishlist
->save();
$this->wishlistAssignment
->assignMultiple([
$anonymous_wishlist,
], $another_user);
$wishlist = $this
->reloadEntity($wishlist);
$this
->assertCount(2, $wishlist
->getItems());
$anonymous_wishlist = $this
->reloadEntity($anonymous_wishlist);
$this
->assertNull($anonymous_wishlist);
$default_wishlist = $this->entityTypeManager
->getStorage('commerce_wishlist')
->loadDefaultByUser($another_user, 'test_2');
$this
->assertEmpty($default_wishlist);
$anonymous_wishlist = Wishlist::create([
'type' => 'test_2',
'name' => 'Anonymous wishlist',
'wishlist_items' => [
$wishlist_item_2,
],
'uid' => 0,
]);
$anonymous_wishlist
->save();
$this->wishlistAssignment
->assignMultiple([
$anonymous_wishlist,
], $another_user);
$anonymous_wishlist = $this
->reloadEntity($anonymous_wishlist);
$this
->assertEqual($anonymous_wishlist
->getOwnerId(), $another_user
->id());
}