1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Customer\Model\ResourceModel\Grid;
- use Magento\Customer\Api\CustomerRepositoryInterface;
- use Magento\Customer\Api\Data\CustomerInterface;
- use Magento\TestFramework\Helper\Bootstrap;
- /**
- * Customer grid collection tests.
- */
- class CollectionTest extends \Magento\TestFramework\Indexer\TestCase
- {
- public static function setUpBeforeClass()
- {
- $db = Bootstrap::getInstance()->getBootstrap()
- ->getApplication()
- ->getDbInstance();
- if (!$db->isDbDumpExists()) {
- throw new \LogicException('DB dump does not exist.');
- }
- $db->restoreFromDbDump();
- parent::setUpBeforeClass();
- }
- /**
- * Test updated data for customer grid indexer during save/update customer data(including address data)
- * in 'Update on Schedule' mode.
- *
- * Customer Grid Indexer can't work in 'Update on Schedule' mode. All data for indexer must be updated in realtime
- * during save/update customer data(including address data).
- *
- * @magentoDataFixture Magento/Customer/_files/customer_grid_indexer_enabled_update_on_schedule.php
- * @magentoDataFixture Magento/Customer/_files/customer_sample.php
- * @magentoAppIsolation enabled
- * @magentoDbIsolation disabled
- */
- public function testGetItemByIdForUpdateOnSchedule()
- {
- $targetObject = Bootstrap::getObjectManager()->create(
- \Magento\Customer\Model\ResourceModel\Grid\Collection::class
- );
- $customerRepository = Bootstrap::getObjectManager()->create(
- CustomerRepositoryInterface::class
- );
- /** Verify after first save */
- /** @var CustomerInterface $newCustomer */
- $newCustomer = $customerRepository->get('customer@example.com');
- /** @var CustomerInterface $item */
- $item = $targetObject->getItemById($newCustomer->getId());
- $this->assertNotEmpty($item);
- $this->assertSame($newCustomer->getEmail(), $item->getEmail());
- $this->assertSame('test street test city Armed Forces Middle East 01001', $item->getBillingFull());
- /** Verify after update */
- $newCustomer->setEmail('customer_updated@example.com');
- $customerRepository->save($newCustomer);
- $targetObject->clear();
- $item = $targetObject->getItemById($newCustomer->getId());
- $this->assertSame($newCustomer->getEmail(), $item->getEmail());
- }
- /**
- * teardown
- */
- public function tearDown()
- {
- parent::tearDown();
- }
- }
|