![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-persistent/Test/Unit/CustomerData/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Persistent\Test\Unit\CustomerData; use Magento\Customer\Api\CustomerRepositoryInterface; use Magento\Customer\Api\Data\CustomerInterface; use Magento\Customer\Helper\View; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper; use Magento\Persistent\CustomerData\Persistent; use Magento\Persistent\Helper\Session; use Magento\Persistent\Model\Session as PersistentSession; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class PersistentTest extends TestCase { /** * Stub customer id */ private const STUB_CUSTOMER_ID = 1; /** * Stub customer name */ private const STUB_CUSTOMER_NAME = 'Adam John'; /** * @var Persistent */ private $customerData; /** * @var Session|MockObject */ private $persistentSessionHelperMock; /** * @var View|MockObject */ private $customerViewHelperMock; /** * @var CustomerRepositoryInterface|MockObject */ private $customerRepositoryMock; /** * Setup environment for test */ protected function setUp(): void { $this->persistentSessionHelperMock = $this->createMock(Session::class); $this->customerViewHelperMock = $this->createMock(View::class); $this->customerRepositoryMock = $this->getMockForAbstractClass(CustomerRepositoryInterface::class); $objectManager = new ObjectManagerHelper($this); $this->customerData = $objectManager->getObject( Persistent::class, [ 'persistentSession' => $this->persistentSessionHelperMock, 'customerViewHelper' => $this->customerViewHelperMock, 'customerRepository' => $this->customerRepositoryMock ] ); } /** * Test getSectionData() when disable persistent */ public function testGetSectionDataWhenDisablePersistent() { $this->persistentSessionHelperMock->method('isPersistent')->willReturn(false); $this->assertEquals([], $this->customerData->getSectionData()); } /** * Test getSectionData() when customer doesn't login */ public function testGetSectionDataWhenCustomerNotLoggedInReturnsEmptyArray() { $this->persistentSessionHelperMock->method('isPersistent')->willReturn(true); $persistentSessionMock = $this->getMockBuilder(PersistentSession::class) ->addMethods(['getCustomerId']) ->disableOriginalConstructor() ->getMock(); $persistentSessionMock->method('getCustomerId')->willReturn(null); $this->persistentSessionHelperMock->method('getSession')->willReturn($persistentSessionMock); $this->assertEquals([], $this->customerData->getSectionData()); } /** * Test getSectionData() when customer login and enable persistent */ public function testGetSectionDataCustomerLoginAndEnablePersistent() { $this->persistentSessionHelperMock->method('isPersistent')->willReturn(true); $persistentSessionMock = $this->getMockBuilder(PersistentSession::class) ->addMethods(['getCustomerId']) ->disableOriginalConstructor() ->getMock(); $persistentSessionMock->method('getCustomerId')->willReturn(self::STUB_CUSTOMER_ID); $this->persistentSessionHelperMock->method('getSession')->willReturn($persistentSessionMock); $customerMock = $this->getMockForAbstractClass(CustomerInterface::class); $this->customerRepositoryMock->method('getById')->with(self::STUB_CUSTOMER_ID)->willReturn($customerMock); $this->customerViewHelperMock->method('getCustomerName')->with($customerMock) ->willReturn(self::STUB_CUSTOMER_NAME); $this->assertEquals( [ 'fullname' => self::STUB_CUSTOMER_NAME ], $this->customerData->getSectionData() ); } }