![]() 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/dev/tests/integration/testsuite/Magento/Customer/Block/Address/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Customer\Block\Address; use Magento\TestFramework\Helper\Bootstrap; class BookTest extends \PHPUnit\Framework\TestCase { /** * @var \Magento\Customer\Block\Address\Book */ protected $_block; /** * @var \Magento\Customer\Helper\Session\CurrentCustomer */ protected $currentCustomer; protected function setUp(): void { /** @var \PHPUnit\Framework\MockObject\MockObject $blockMock */ $blockMock = $this->getMockBuilder( \Magento\Framework\View\Element\BlockInterface::class )->disableOriginalConstructor()->setMethods( ['setTitle', 'toHtml'] )->getMock(); $blockMock->expects($this->any())->method('setTitle'); $this->currentCustomer = \Magento\TestFramework\Helper\Bootstrap::getObjectManager() ->get(\Magento\Customer\Helper\Session\CurrentCustomer::class); /** @var \Magento\Framework\View\LayoutInterface $layout */ $layout = Bootstrap::getObjectManager()->get(\Magento\Framework\View\LayoutInterface::class); $layout->setBlock('head', $blockMock); $this->_block = $layout ->createBlock( \Magento\Customer\Block\Address\Book::class, '', ['currentCustomer' => $this->currentCustomer] ); } protected function tearDown(): void { $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); /** @var \Magento\Customer\Model\CustomerRegistry $customerRegistry */ $customerRegistry = $objectManager->get(\Magento\Customer\Model\CustomerRegistry::class); // Cleanup customer from registry $customerRegistry->remove(1); } public function testGetAddressEditUrl() { $this->assertEquals( 'http://localhost/index.php/customer/address/edit/id/1/', $this->_block->getAddressEditUrl(1) ); } /** * @magentoDataFixture Magento/Customer/_files/customer.php * @magentoDataFixture Magento/Customer/_files/customer_two_addresses.php * @magentoDataFixture Magento/Customer/_files/customer_no_address.php * @dataProvider hasPrimaryAddressDataProvider * @magentoAppIsolation enabled */ public function testHasPrimaryAddress($customerId, $expected) { if (!empty($customerId)) { $this->currentCustomer->setCustomerId($customerId); } $this->assertEquals($expected, $this->_block->hasPrimaryAddress()); } public function hasPrimaryAddressDataProvider() { return ['0' => [0, false], '1' => [1, true], '5' => [5, false]]; } /** * @magentoDataFixture Magento/Customer/_files/customer.php * @magentoDataFixture Magento/Customer/_files/customer_two_addresses.php * @magentoAppIsolation enabled */ public function testGetAdditionalAddresses() { $this->currentCustomer->setCustomerId(1); $this->assertNotNull($this->_block->getAdditionalAddresses()); $this->assertCount(1, $this->_block->getAdditionalAddresses()); $this->assertInstanceOf( \Magento\Customer\Api\Data\AddressInterface::class, $this->_block->getAdditionalAddresses()[0] ); $this->assertEquals(2, $this->_block->getAdditionalAddresses()[0]->getId()); } /** * @magentoDataFixture Magento/Customer/_files/customer_no_address.php * @dataProvider getAdditionalAddressesDataProvider * @magentoAppIsolation enabled */ public function testGetAdditionalAddressesNegative($customerId, $expected) { if (!empty($customerId)) { $this->currentCustomer->setCustomerId($customerId); } $this->assertEquals($expected, $this->_block->getAdditionalAddresses()); } public function getAdditionalAddressesDataProvider() { return ['0' => [0, false], '5' => [5, false]]; } /** * @magentoDataFixture Magento/Customer/_files/customer.php * @magentoDataFixture Magento/Customer/_files/customer_address.php * @magentoAppIsolation enabled */ public function testGetAddressHtml() { $expected = "John Smith<br />\nCompanyName<br />\nGreen str, 67<br />\n\n\n\nCityM, Alabama, 75477<br />" . "\nUnited States<br />\nT: <a href=\"tel:3468676\">3468676</a>\n\n"; $address = Bootstrap::getObjectManager()->get( \Magento\Customer\Api\AddressRepositoryInterface::class )->getById(1); $html = $this->_block->getAddressHtml($address); $this->assertEquals($expected, $html); } public function testGetAddressHtmlWithoutAddress() { $this->assertEquals('', $this->_block->getAddressHtml(null)); } /** * @magentoDataFixture Magento/Customer/_files/customer.php * @magentoAppIsolation enabled */ public function testGetCustomer() { /** @var CustomerRepositoryInterface $customerRepository */ $customerRepository = Bootstrap::getObjectManager()->get( \Magento\Customer\Api\CustomerRepositoryInterface::class ); $customer = $customerRepository->getById(1); $this->currentCustomer->setCustomerId(1); $object = $this->_block->getCustomer(); $this->assertEquals($customer, $object); } public function testGetCustomerMissingCustomer() { $this->assertNull($this->_block->getCustomer()); } /** * @magentoDataFixture Magento/Customer/_files/customer.php * @magentoDataFixture Magento/Customer/_files/customer_two_addresses.php * @magentoDataFixture Magento/Customer/_files/customer_no_address.php * @dataProvider getDefaultBillingDataProvider * @magentoAppIsolation enabled */ public function testGetDefaultBilling($customerId, $expected) { $this->currentCustomer->setCustomerId($customerId); $this->assertEquals($expected, $this->_block->getDefaultBilling()); } public function getDefaultBillingDataProvider() { return ['0' => [0, null], '1' => [1, 1], '5' => [5, null]]; } /** * @magentoDataFixture Magento/Customer/_files/customer.php * @magentoDataFixture Magento/Customer/_files/customer_two_addresses.php * @magentoDataFixture Magento/Customer/_files/customer_no_address.php * @dataProvider getDefaultShippingDataProvider * @magentoAppIsolation enabled */ public function testGetDefaultShipping($customerId, $expected) { if (!empty($customerId)) { $this->currentCustomer->setCustomerId($customerId); } $this->assertEquals($expected, $this->_block->getDefaultShipping()); } public function getDefaultShippingDataProvider() { return ['0' => [0, null], '1' => [1, 1], '5' => [5, null]]; } /** * @magentoDataFixture Magento/Customer/_files/customer.php * @magentoDataFixture Magento/Customer/_files/customer_two_addresses.php */ public function testGetAddressById() { $this->assertInstanceOf(\Magento\Customer\Api\Data\AddressInterface::class, $this->_block->getAddressById(1)); $this->assertNull($this->_block->getAddressById(5)); } }