![]() 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. */ declare(strict_types=1); namespace Magento\Customer\Block\Address; use Magento\Customer\Model\AddressRegistry; use Magento\Customer\Model\CustomerRegistry; use Magento\Customer\Model\Session; use Magento\Framework\App\RequestInterface; use Magento\Framework\ObjectManagerInterface; use Magento\Framework\View\Result\Page; use Magento\Framework\View\Result\PageFactory; use Magento\TestFramework\Helper\Bootstrap; use Magento\TestFramework\Helper\Xpath; use Magento\TestFramework\Store\ExecuteInStoreContext; use PHPUnit\Framework\TestCase; /** * Tests Address Edit Block * * @see \Magento\Customer\Block\Address\Edit * * @magentoAppArea frontend * @magentoAppIsolation enabled * * @magentoDataFixture Magento/Customer/_files/customer.php */ class EditTest extends TestCase { /** @var ObjectManagerInterface */ private $objectManager; /** @var Edit */ private $block; /** @var Session */ private $customerSession; /** @var AddressRegistry */ private $addressRegistry; /** @var CustomerRegistry */ private $customerRegistry; /** @var RequestInterface */ private $request; /** @var ExecuteInStoreContext */ private $executeInStoreContext; /** * @inheritdoc */ protected function setUp(): void { parent::setUp(); $this->objectManager = Bootstrap::getObjectManager(); $this->customerSession = $this->objectManager->get(Session::class); $this->customerSession->setCustomerId(1); $this->request = $this->objectManager->get(RequestInterface::class); $this->request->setParam('id', '1'); /** @var Page $page */ $page = $this->objectManager->get(PageFactory::class)->create(); $page->addHandle(['default', 'customer_address_form']); $page->getLayout()->generateXml(); $this->block = $page->getLayout()->getBlock('customer_address_edit'); $this->addressRegistry = $this->objectManager->get(AddressRegistry::class); $this->customerRegistry = $this->objectManager->get(CustomerRegistry::class); $this->executeInStoreContext = $this->objectManager->get(ExecuteInStoreContext::class); } /** * @inheritdoc */ protected function tearDown(): void { parent::tearDown(); $this->customerSession->setCustomerId(null); $this->request->setParam('id', null); //Cleanup address from registry $this->addressRegistry->remove(1); $this->addressRegistry->remove(2); //Cleanup customer from registry $this->customerRegistry->remove(1); } /** * @magentoDataFixture Magento/Customer/_files/customer.php * @return void */ public function testGetSaveUrl(): void { $this->assertEquals('http://localhost/index.php/customer/address/formPost/', $this->block->getSaveUrl()); } /** * @magentoDataFixture Magento/Customer/_files/customer.php * @magentoDataFixture Magento/Customer/_files/customer_address.php * @return void */ public function testGetRegionId(): void { $this->assertEquals(1, $this->block->getRegionId()); } /** * @magentoDataFixture Magento/Customer/_files/customer.php * @magentoDataFixture Magento/Customer/_files/customer_address.php * @return void */ public function testGetCountryId(): void { $this->assertEquals('US', $this->block->getCountryId()); } /** * @magentoDataFixture Magento/Customer/_files/customer.php * @magentoDataFixture Magento/Customer/_files/customer_two_addresses.php * @return void */ public function testGetCustomerAddressCount(): void { $this->assertEquals(2, $this->block->getCustomerAddressCount()); } /** * @magentoDataFixture Magento/Customer/_files/customer.php * @return void */ public function testCanSetAsDefaultShipping(): void { $this->assertEquals(0, $this->block->canSetAsDefaultShipping()); } /** * @magentoDataFixture Magento/Customer/_files/customer.php * @return void */ public function testIsDefaultBilling(): void { $this->assertFalse($this->block->isDefaultBilling()); } /** * @magentoDataFixture Magento/Customer/_files/customer.php * @magentoDataFixture Magento/Customer/_files/customer_address.php * @return void */ public function testGetStreetLine(): void { $this->assertEquals('Green str, 67', $this->block->getStreetLine(1)); $this->assertEquals('', $this->block->getStreetLine(2)); } /** * @magentoDataFixture Magento/Customer/_files/customer.php * @magentoConfigFixture current_store customer/create_account/vat_frontend_visibility 1 * @return void */ public function testVatIdFieldVisible(): void { $html = $this->block->toHtml(); $labelXpath = "//div[contains(@class, 'taxvat')]//label/span[normalize-space(text()) = '%s']"; $this->assertEquals(1, Xpath::getElementsCountForXpath(sprintf($labelXpath, __('VAT Number')), $html)); $inputXpath = "//div[contains(@class, 'taxvat')]//div/input[contains(@id,'vat_id') and @type='text']"; $this->assertEquals(1, Xpath::getElementsCountForXpath($inputXpath, $html)); } /** * @magentoDataFixture Magento/Customer/_files/customer.php * @magentoConfigFixture current_store customer/create_account/vat_frontend_visibility 0 * @return void */ public function testVatIdFieldNotVisible(): void { $html = $this->block->toHtml(); $labelXpath = "//div[contains(@class, 'taxvat')]//label/span[normalize-space(text()) = '%s']"; $this->assertEquals(0, Xpath::getElementsCountForXpath(sprintf($labelXpath, __('VAT Number')), $html)); $inputXpath = "//div[contains(@class, 'taxvat')]//div/input[contains(@id,'vat_id') and @type='text']"; $this->assertEquals(0, Xpath::getElementsCountForXpath($inputXpath, $html)); } /** * @magentoDataFixture Magento/Customer/_files/customer.php * @magentoDataFixture Magento/Customer/_files/attribute_postcode_store_label_address.php * * @return void */ public function testCheckPostCodeLabels(): void { $html = $this->executeInStoreContext->execute('default', [$this->block, 'toHtml']); $this->assertEquals( 1, Xpath::getElementsCountForXpath( sprintf( "//form[contains(@class, 'form-address-edit')]//label[@for='zip']/span[contains(text(), '%s')]", 'default store postcode label' ), $html ) ); } /** * Check that submit button is disabled * * @magentoDataFixture Magento/Customer/_files/customer.php * @magentoDataFixture Magento/Customer/_files/customer_address.php * @return void */ public function testSubmitButtonIsDisabled(): void { $html = $this->block->toHtml(); $buttonXpath = "//form[contains(@class, 'form-address-edit')]//button[@type='submit' and @disabled='disabled']"; $this->assertEquals(1, Xpath::getElementsCountForXpath($buttonXpath, $html)); } }