![]() 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-customer/Test/Unit/Block/Widget/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Customer\Test\Unit\Block\Widget; use Magento\Customer\Api\CustomerMetadataInterface; use Magento\Customer\Block\Widget\AbstractWidget; use Magento\Customer\Helper\Address; use Magento\Framework\View\Element\Template\Context; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; class AbstractWidgetTest extends TestCase { /** Constants used in the various unit tests. */ const KEY_FIELD_ID_FORMAT = 'field_id_format'; const KEY_FIELD_NAME_FORMAT = 'field_name_format'; const FORMAT_D = '%d'; const FORMAT_S = '%s'; /** @var MockObject|Address */ private $_addressHelper; /** @var AbstractWidget */ private $_block; protected function setUp(): void { $this->_addressHelper = $this->createMock(Address::class); $this->_block = new AbstractWidget( $this->createMock(Context::class), $this->_addressHelper, $this->getMockBuilder(CustomerMetadataInterface::class) ->getMockForAbstractClass() ); } /** * @param string $key * @param string|null $expectedValue * * @dataProvider getConfigDataProvider */ public function testGetConfig($key, $expectedValue) { $this->_addressHelper->expects( $this->once() )->method( 'getConfig' )->with( $key )->willReturn( $expectedValue ); $this->assertEquals($expectedValue, $this->_block->getConfig($key)); } /** * @return array */ public function getConfigDataProvider() { return [['key', 'value'], [null, null]]; } /** * The default field id format is '%s' so we set it to '%d' to verify that '%d' gets returned when * AbstractWidget::getFieldIdFormat() is called. */ public function testGetFieldIdFormatHasData() { $this->_block->setData(self::KEY_FIELD_ID_FORMAT, self::FORMAT_D); $this->assertEquals(self::FORMAT_D, $this->_block->getFieldIdFormat()); } /** * Returns the default '%s' field id format when the block has no data for it. */ public function testGetFieldIdFormatHasNoData() { $this->assertEquals(self::FORMAT_S, $this->_block->getFieldIdFormat()); } /** * The default field name format is '%s' so we set it to '%d' to verify that '%d' gets returned when * AbstractWidget::getFieldNameFormat() is called. */ public function testGetFieldNameFormatHasData() { $this->_block->setData(self::KEY_FIELD_NAME_FORMAT, self::FORMAT_D); $this->assertEquals(self::FORMAT_D, $this->_block->getFieldNameFormat()); } /** * Returns the default '%s' field name format when the block has no data for it. */ public function testGetFieldNameFormatHasNoData() { $this->assertEquals(self::FORMAT_S, $this->_block->getFieldNameFormat()); } /** * Test '%s' and '%d' formats to verify that '%s' returns a string and '%d' returns a numeric * string when AbstractWidget::getFieldId() is invoked. * * @param string $format Field id format (e.g. '%s' or '%d') * @param string $fieldId Field id * @param string $expectedValue The value we expect from AbstractWidget::getFieldId() * @param string $method The method to invoke on the result from getFieldId() should return true * * @dataProvider getFieldIdDataProvider */ public function testGetFieldId($format, $fieldId, $expectedValue, $method) { $this->_block->setData(self::KEY_FIELD_ID_FORMAT, $format); $this->assertTrue(call_user_func($method, $blockFieldId = $this->_block->getFieldId($fieldId))); $this->assertSame($expectedValue, $blockFieldId); } /** * @return array */ public function getFieldIdDataProvider() { return [ [self::FORMAT_S, 'Id', 'Id', 'is_string'], [self::FORMAT_D, '123', '123', 'is_numeric'], [self::FORMAT_D, 'Id', '0', 'is_numeric'] ]; } /** * Test '%s' and '%d' formats to verify that '%s' returns a string and '%d' returns a numeric * string when AbstractWidget::getFieldName() is invoked. * * @param string $format Field name format (e.g. '%s' or '%d') * @param string $fieldName The field name * @param string $expectedValue The value we expect from AbstractWidget::getFieldName * @param string $method The method to invoke on the result from getFieldName() should return true * * @dataProvider getFieldNameDataProvider */ public function testGetFieldName($format, $fieldName, $expectedValue, $method) { $this->_block->setData(self::KEY_FIELD_NAME_FORMAT, $format); $this->assertTrue(call_user_func($method, $blockFieldName = $this->_block->getFieldName($fieldName))); $this->assertEquals($expectedValue, $blockFieldName); } /** * @return array */ public function getFieldNameDataProvider() { return [ [self::FORMAT_S, 'Name', 'Name', 'is_string'], [self::FORMAT_D, '123', '123', 'is_numeric'], [self::FORMAT_D, 'Name', '0', 'is_numeric'] ]; } }