CustomerTest.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Customer\Model;
  7. class CustomerTest extends \PHPUnit\Framework\TestCase
  8. {
  9. /**
  10. * @var \Magento\Customer\Model\Customer
  11. */
  12. protected $customerModel;
  13. /**
  14. * @var \Magento\Customer\Api\Data\CustomerInterfaceFactory
  15. */
  16. protected $customerFactory;
  17. protected function setUp()
  18. {
  19. $this->customerModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
  20. \Magento\Customer\Model\Customer::class
  21. );
  22. $this->customerFactory = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
  23. \Magento\Customer\Api\Data\CustomerInterfaceFactory::class
  24. );
  25. }
  26. public function testUpdateDataSetDataOnEmptyModel()
  27. {
  28. /** @var \Magento\Customer\Model\Data\Customer $customerData */
  29. $customerData = $this->customerFactory->create()
  30. ->setId(1)
  31. ->setFirstname('John')
  32. ->setLastname('Doe')
  33. ->setDefaultBilling(1);
  34. $customerData = $this->customerModel->updateData($customerData)->getDataModel();
  35. $this->assertEquals(1, $customerData->getId());
  36. $this->assertEquals('John', $customerData->getFirstname());
  37. $this->assertEquals('Doe', $customerData->getLastname());
  38. $this->assertEquals(1, $customerData->getDefaultBilling());
  39. }
  40. public function testUpdateDataOverrideExistingData()
  41. {
  42. /** @var \Magento\Customer\Model\Data\Customer $customerData */
  43. $customerData = $this->customerFactory->create()
  44. ->setId(2)
  45. ->setFirstname('John')
  46. ->setLastname('Doe')
  47. ->setDefaultBilling(1);
  48. $this->customerModel->updateData($customerData);
  49. /** @var \Magento\Customer\Model\Data\Customer $updatedCustomerData */
  50. $updatedCustomerData = $this->customerFactory->create()
  51. ->setId(3)
  52. ->setFirstname('Jane')
  53. ->setLastname('Smith')
  54. ->setDefaultBilling(0);
  55. $updatedCustomerData = $this->customerModel->updateData($updatedCustomerData)->getDataModel();
  56. $this->assertEquals(3, $updatedCustomerData->getId());
  57. $this->assertEquals('Jane', $updatedCustomerData->getFirstname());
  58. $this->assertEquals('Smith', $updatedCustomerData->getLastname());
  59. $this->assertEquals(0, $updatedCustomerData->getDefaultBilling());
  60. }
  61. }