71 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
<?php
 | 
						|
/**
 | 
						|
 * Copyright © Magento, Inc. All rights reserved.
 | 
						|
 * See COPYING.txt for license details.
 | 
						|
 */
 | 
						|
 | 
						|
namespace Magento\Customer\Model;
 | 
						|
 | 
						|
class CustomerTest extends \PHPUnit\Framework\TestCase
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * @var \Magento\Customer\Model\Customer
 | 
						|
     */
 | 
						|
    protected $customerModel;
 | 
						|
 | 
						|
    /**
 | 
						|
     * @var \Magento\Customer\Api\Data\CustomerInterfaceFactory
 | 
						|
     */
 | 
						|
    protected $customerFactory;
 | 
						|
 | 
						|
    protected function setUp(): void
 | 
						|
    {
 | 
						|
        $this->customerModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
 | 
						|
            \Magento\Customer\Model\Customer::class
 | 
						|
        );
 | 
						|
        $this->customerFactory = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
 | 
						|
            \Magento\Customer\Api\Data\CustomerInterfaceFactory::class
 | 
						|
        );
 | 
						|
    }
 | 
						|
 | 
						|
    public function testUpdateDataSetDataOnEmptyModel()
 | 
						|
    {
 | 
						|
        /** @var \Magento\Customer\Model\Data\Customer $customerData */
 | 
						|
        $customerData = $this->customerFactory->create()
 | 
						|
            ->setId(1)
 | 
						|
            ->setFirstname('John')
 | 
						|
            ->setLastname('Doe')
 | 
						|
            ->setDefaultBilling(1);
 | 
						|
        $customerData = $this->customerModel->updateData($customerData)->getDataModel();
 | 
						|
 | 
						|
        $this->assertEquals(1, $customerData->getId());
 | 
						|
        $this->assertEquals('John', $customerData->getFirstname());
 | 
						|
        $this->assertEquals('Doe', $customerData->getLastname());
 | 
						|
        $this->assertEquals(1, $customerData->getDefaultBilling());
 | 
						|
    }
 | 
						|
 | 
						|
    public function testUpdateDataOverrideExistingData()
 | 
						|
    {
 | 
						|
        /** @var \Magento\Customer\Model\Data\Customer $customerData */
 | 
						|
        $customerData = $this->customerFactory->create()
 | 
						|
            ->setId(2)
 | 
						|
            ->setFirstname('John')
 | 
						|
            ->setLastname('Doe')
 | 
						|
            ->setDefaultBilling(1);
 | 
						|
        $this->customerModel->updateData($customerData);
 | 
						|
 | 
						|
        /** @var \Magento\Customer\Model\Data\Customer $updatedCustomerData */
 | 
						|
        $updatedCustomerData = $this->customerFactory->create()
 | 
						|
            ->setId(3)
 | 
						|
            ->setFirstname('Jane')
 | 
						|
            ->setLastname('Smith')
 | 
						|
            ->setDefaultBilling(0);
 | 
						|
        $updatedCustomerData = $this->customerModel->updateData($updatedCustomerData)->getDataModel();
 | 
						|
 | 
						|
        $this->assertEquals(3, $updatedCustomerData->getId());
 | 
						|
        $this->assertEquals('Jane', $updatedCustomerData->getFirstname());
 | 
						|
        $this->assertEquals('Smith', $updatedCustomerData->getLastname());
 | 
						|
        $this->assertEquals(0, $updatedCustomerData->getDefaultBilling());
 | 
						|
    }
 | 
						|
}
 |