Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
CustomerQuoteTest.php
Go to the documentation of this file.
1 <?php
7 
13 
17 class CustomerQuoteTest extends \PHPUnit\Framework\TestCase
18 {
25  public function testCustomerSaveQuoteObserver()
26  {
29  $repository = Bootstrap::getObjectManager()->create(\Magento\Customer\Api\CustomerRepositoryInterface::class);
31  $registry = Bootstrap::getObjectManager()->create(\Magento\Customer\Model\CustomerRegistry::class);
32  $customer = $repository->getById($registry->retrieveByEmail('[email protected]')->getId());
33 
35  $quote = Bootstrap::getObjectManager()->create(\Magento\Quote\Model\Quote::class);
36  $quote->load('test01', 'reserved_order_id');
37  $quote->setCustomerIsGuest(false)->setCustomerId($customer->getId())
38  ->setCustomerGroupId($customer->getGroupId())
39  ->save();
40 
41  $this->assertNotNull($customer->getGroupId(), "Precondition failed: Customer group is not set.");
42  $this->assertEquals(
43  $customer->getGroupId(),
44  $quote->getCustomerGroupId(),
45  "Precondition failed: Customer group in quote is invalid."
46  );
47 
52  $newCustomerGroupId = 2;
53  $customer->setGroupId($newCustomerGroupId);
54  $repository->save($customer);
55 
56  $quote->load('test01', 'reserved_order_id');
57  $this->assertEquals(
58  $newCustomerGroupId,
59  $quote->getCustomerGroupId(),
60  'Customer group in quote was not updated on "customer_save_after_data_object" event ' .
61  'by Magento\Sales\Model\Observer\Backend\CustomerQuote::dispatch().'
62  );
63  }
64 }
$customer
Definition: customers.php:11
$quote