public function StoreTest::testDefaultStore in Commerce Core 8.2
Tests default store functionality.
File
- modules/
store/ tests/ src/ Kernel/ Entity/ StoreTest.php, line 116
Class
- StoreTest
- Tests the Store entity.
Namespace
Drupal\Tests\commerce_store\Kernel\EntityCode
public function testDefaultStore() {
$this->store
->delete();
/** @var \Drupal\commerce_store\Entity\StoreInterface $store1 */
$store1 = Store::create([
'type' => 'online',
'uid' => $this->user
->id(),
'is_default' => TRUE,
]);
$store1
->save();
/** @var \Drupal\commerce_store\Entity\StoreInterface $store2 */
$store2 = Store::create([
'type' => 'online',
'uid' => $this->user
->id(),
'is_default' => TRUE,
]);
$store2
->save();
$this
->assertTrue($store2
->isDefault());
// Confirm that setting the second store as default removed the
// flag from the first store.
$store2 = $this
->reloadEntity($store2);
$store1 = $this
->reloadEntity($store1);
$this
->assertTrue($store2
->isDefault());
$this
->assertFalse($store1
->isDefault());
/** @var \Drupal\commerce_store\Entity\StoreInterface $store2 */
$store3 = Store::create([
'type' => 'online',
'uid' => $this->user
->id(),
]);
$store3
->save();
$this
->assertFalse($store3
->isDefault());
// Test fallback.
$store2
->setDefault(FALSE);
$store2
->save();
$this
->assertFalse($store2
->isDefault());
/** @var \Drupal\commerce_store\StoreStorageInterface $store_storage */
$store_storage = \Drupal::entityTypeManager()
->getStorage('commerce_store');
$default_store = $store_storage
->loadDefault();
$this
->assertNotEmpty($default_store);
$this
->assertEquals($store3
->id(), $default_store
->id());
}