From 2d914ec4d0306684101df258c24b747dd23b78e5 Mon Sep 17 00:00:00 2001 From: Michiel Gerritsen Date: Tue, 18 Jul 2017 10:54:32 +0200 Subject: [PATCH 1/4] Added translations for the notice attribute --- .../Catalog/Ui/DataProvider/Product/Form/Modifier/Eav.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Eav.php b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Eav.php index d50cb1cddbf27..8a6a861ddb8bf 100755 --- a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Eav.php +++ b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Eav.php @@ -555,7 +555,7 @@ public function setupAttributeMeta(ProductAttributeInterface $attribute, $groupC 'formElement' => $this->getFormElementsMapValue($attribute->getFrontendInput()), 'visible' => $attribute->getIsVisible(), 'required' => $attribute->getIsRequired(), - 'notice' => $attribute->getNote(), + 'notice' => __($attribute->getNote()), 'default' => (!$this->isProductExists()) ? $attribute->getDefaultValue() : null, 'label' => $attribute->getDefaultFrontendLabel(), 'code' => $attribute->getAttributeCode(), From 82a51241064397ae5f2b573970bedb0669dedd9a Mon Sep 17 00:00:00 2001 From: Michiel Gerritsen Date: Tue, 18 Jul 2017 12:37:32 +0200 Subject: [PATCH 2/4] Fixed the relevant test, keep null when applicable --- .../Product/Form/Modifier/EavTest.php | 32 ++++++++++++++++++- .../Product/Form/Modifier/Eav.php | 2 +- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/EavTest.php b/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/EavTest.php index 08ef29ac2ab15..ead88819e016e 100755 --- a/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/EavTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/EavTest.php @@ -10,6 +10,7 @@ use Magento\Eav\Model\Config; use Magento\Framework\App\RequestInterface; use Magento\Framework\EntityManager\EventManager; +use Magento\Framework\Phrase; use Magento\Store\Model\StoreManagerInterface; use Magento\Store\Api\Data\StoreInterface; use Magento\Ui\DataProvider\EavValidationRules; @@ -452,12 +453,13 @@ public function testModifyData() * @param int $productId * @param bool $productRequired * @param string $attrValue + * @param string $note * @param array $expected * @covers \Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Eav::isProductExists * @covers \Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Eav::setupAttributeMeta * @dataProvider setupAttributeMetaDataProvider */ - public function testSetupAttributeMetaDefaultAttribute($productId, $productRequired, $attrValue, $expected) + public function testSetupAttributeMetaDefaultAttribute($productId, $productRequired, $attrValue, $note, $expected) { $configPath = 'arguments/data/config'; $groupCode = 'product-details'; @@ -483,6 +485,10 @@ public function testSetupAttributeMetaDefaultAttribute($productId, $productRequi ->method('getValue') ->willReturn('value'); + $this->productAttributeMock->expects($this->any()) + ->method('getNote') + ->willReturn($note); + $attributeMock = $this->getMockBuilder(AttributeInterface::class) ->disableOriginalConstructor() ->getMock(); @@ -531,6 +537,7 @@ public function setupAttributeMetaDataProvider() 'productId' => 1, 'productRequired' => true, 'attrValue' => 'val', + 'note' => null, 'expected' => [ 'dataType' => null, 'formElement' => null, @@ -550,6 +557,7 @@ public function setupAttributeMetaDataProvider() 'productId' => 1, 'productRequired' => false, 'attrValue' => 'val', + 'note' => null, 'expected' => [ 'dataType' => null, 'formElement' => null, @@ -569,6 +577,7 @@ public function setupAttributeMetaDataProvider() 'productId' => null, 'productRequired' => false, 'attrValue' => null, + 'note' => null, 'expected' => [ 'dataType' => null, 'formElement' => null, @@ -588,6 +597,7 @@ public function setupAttributeMetaDataProvider() 'productId' => null, 'productRequired' => false, 'attrValue' => null, + 'note' => null, 'expected' => [ 'dataType' => null, 'formElement' => null, @@ -602,6 +612,26 @@ public function setupAttributeMetaDataProvider() 'globalScope' => false, 'sortOrder' => 0 ], + ], + 'default_null_prod_new_and_required_and_filled_notice' => [ + 'productId' => null, + 'productRequired' => false, + 'attrValue' => null, + 'note' => 'example notice', + 'expected' => [ + 'dataType' => null, + 'formElement' => null, + 'visible' => null, + 'required' => false, + 'notice' => __('example notice'), + 'default' => 'required_value', + 'label' => null, + 'code' => 'code', + 'source' => 'product-details', + 'scopeLabel' => '', + 'globalScope' => false, + 'sortOrder' => 0 + ], ] ]; } diff --git a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Eav.php b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Eav.php index 8a6a861ddb8bf..4579272ed26e7 100755 --- a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Eav.php +++ b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Eav.php @@ -555,7 +555,7 @@ public function setupAttributeMeta(ProductAttributeInterface $attribute, $groupC 'formElement' => $this->getFormElementsMapValue($attribute->getFrontendInput()), 'visible' => $attribute->getIsVisible(), 'required' => $attribute->getIsRequired(), - 'notice' => __($attribute->getNote()), + 'notice' => $attribute->getNote() === null ? null : __($attribute->getNote()), 'default' => (!$this->isProductExists()) ? $attribute->getDefaultValue() : null, 'label' => $attribute->getDefaultFrontendLabel(), 'code' => $attribute->getAttributeCode(), From e7a32ec4c1101c284fe45d16f9a6a361c9618346 Mon Sep 17 00:00:00 2001 From: Michiel Gerritsen Date: Tue, 18 Jul 2017 16:08:53 +0200 Subject: [PATCH 3/4] Refactored code to fix the coding style error --- .../Product/Form/Modifier/EavTest.php | 237 ++++++++++-------- 1 file changed, 139 insertions(+), 98 deletions(-) diff --git a/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/EavTest.php b/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/EavTest.php index ead88819e016e..34b837e2791c5 100755 --- a/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/EavTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/EavTest.php @@ -533,106 +533,147 @@ public function testSetupAttributeMetaDefaultAttribute($productId, $productRequi public function setupAttributeMetaDataProvider() { return [ - 'default_null_prod_not_new_and_required' => [ - 'productId' => 1, - 'productRequired' => true, - 'attrValue' => 'val', - 'note' => null, - 'expected' => [ - 'dataType' => null, - 'formElement' => null, - 'visible' => null, - 'required' => true, - 'notice' => null, - 'default' => null, - 'label' => null, - 'code' => 'code', - 'source' => 'product-details', - 'scopeLabel' => '', - 'globalScope' => false, - 'sortOrder' => 0 - ], - ], - 'default_null_prod_not_new_and_not_required' => [ - 'productId' => 1, - 'productRequired' => false, - 'attrValue' => 'val', - 'note' => null, - 'expected' => [ - 'dataType' => null, - 'formElement' => null, - 'visible' => null, - 'required' => false, - 'notice' => null, - 'default' => null, - 'label' => null, - 'code' => 'code', - 'source' => 'product-details', - 'scopeLabel' => '', - 'globalScope' => false, - 'sortOrder' => 0 - ], - ], - 'default_null_prod_new_and_not_required' => [ - 'productId' => null, - 'productRequired' => false, - 'attrValue' => null, - 'note' => null, - 'expected' => [ - 'dataType' => null, - 'formElement' => null, - 'visible' => null, - 'required' => false, - 'notice' => null, - 'default' => 'required_value', - 'label' => null, - 'code' => 'code', - 'source' => 'product-details', - 'scopeLabel' => '', - 'globalScope' => false, - 'sortOrder' => 0 - ], + 'default_null_prod_not_new_and_required' => $this->defaultNullProdNotNewAndRequired(), + 'default_null_prod_not_new_and_not_required' => $this->defaultNullProdNotNewAndNotRequired(), + 'default_null_prod_new_and_not_required' => $this->defaultNullProdNewAndNotRequired(), + 'default_null_prod_new_and_required' => $this->defaultNullProdNewAndRequired(), + 'default_null_prod_new_and_required_and_filled_notice' => $this->defaultNullProdNewAndRequiredAndFilledNotice( + ) + ]; + } + + /** + * @return array + */ + private function defaultNullProdNotNewAndRequired() + { + return [ + 'productId' => 1, + 'productRequired' => true, + 'attrValue' => 'val', + 'note' => null, + 'expected' => [ + 'dataType' => null, + 'formElement' => null, + 'visible' => null, + 'required' => true, + 'notice' => null, + 'default' => null, + 'label' => null, + 'code' => 'code', + 'source' => 'product-details', + 'scopeLabel' => '', + 'globalScope' => false, + 'sortOrder' => 0 ], - 'default_null_prod_new_and_required' => [ - 'productId' => null, - 'productRequired' => false, - 'attrValue' => null, - 'note' => null, - 'expected' => [ - 'dataType' => null, - 'formElement' => null, - 'visible' => null, - 'required' => false, - 'notice' => null, - 'default' => 'required_value', - 'label' => null, - 'code' => 'code', - 'source' => 'product-details', - 'scopeLabel' => '', - 'globalScope' => false, - 'sortOrder' => 0 - ], + ]; + } + + /** + * @return array + */ + private function defaultNullProdNotNewAndNotRequired() + { + return [ + 'productId' => 1, + 'productRequired' => false, + 'attrValue' => 'val', + 'note' => null, + 'expected' => [ + 'dataType' => null, + 'formElement' => null, + 'visible' => null, + 'required' => false, + 'notice' => null, + 'default' => null, + 'label' => null, + 'code' => 'code', + 'source' => 'product-details', + 'scopeLabel' => '', + 'globalScope' => false, + 'sortOrder' => 0 + ], + ]; + } + + /** + * @return array + */ + private function defaultNullProdNewAndNotRequired() + { + return [ + 'productId' => null, + 'productRequired' => false, + 'attrValue' => null, + 'note' => null, + 'expected' => [ + 'dataType' => null, + 'formElement' => null, + 'visible' => null, + 'required' => false, + 'notice' => null, + 'default' => 'required_value', + 'label' => null, + 'code' => 'code', + 'source' => 'product-details', + 'scopeLabel' => '', + 'globalScope' => false, + 'sortOrder' => 0 + ], + ]; + } + + /** + * @return array + */ + private function defaultNullProdNewAndRequired() + { + return [ + 'productId' => null, + 'productRequired' => false, + 'attrValue' => null, + 'note' => null, + 'expected' => [ + 'dataType' => null, + 'formElement' => null, + 'visible' => null, + 'required' => false, + 'notice' => null, + 'default' => 'required_value', + 'label' => null, + 'code' => 'code', + 'source' => 'product-details', + 'scopeLabel' => '', + 'globalScope' => false, + 'sortOrder' => 0 + ], + ]; + } + + /** + * @return array + */ + private function defaultNullProdNewAndRequiredAndFilledNotice() + { + return [ + 'productId' => null, + 'productRequired' => false, + 'attrValue' => null, + 'note' => 'example notice', + 'expected' => [ + 'dataType' => null, + 'formElement' => null, + 'visible' => null, + 'required' => false, + 'notice' => __('example notice'), + 'default' => 'required_value', + 'label' => null, + 'code' => 'code', + 'source' => 'product-details', + 'scopeLabel' => '', + 'globalScope' => false, + 'sortOrder' => 0 ], - 'default_null_prod_new_and_required_and_filled_notice' => [ - 'productId' => null, - 'productRequired' => false, - 'attrValue' => null, - 'note' => 'example notice', - 'expected' => [ - 'dataType' => null, - 'formElement' => null, - 'visible' => null, - 'required' => false, - 'notice' => __('example notice'), - 'default' => 'required_value', - 'label' => null, - 'code' => 'code', - 'source' => 'product-details', - 'scopeLabel' => '', - 'globalScope' => false, - 'sortOrder' => 0 - ], - ] ]; } } From b4423f82fc08e8a15396204dc12dea9808350115 Mon Sep 17 00:00:00 2001 From: Michiel Gerritsen Date: Tue, 18 Jul 2017 19:44:21 +0200 Subject: [PATCH 4/4] Reduced the length of the line to comply with the coding standards --- .../Unit/Ui/DataProvider/Product/Form/Modifier/EavTest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/EavTest.php b/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/EavTest.php index 34b837e2791c5..d5a007382b383 100755 --- a/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/EavTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/EavTest.php @@ -537,8 +537,8 @@ public function setupAttributeMetaDataProvider() 'default_null_prod_not_new_and_not_required' => $this->defaultNullProdNotNewAndNotRequired(), 'default_null_prod_new_and_not_required' => $this->defaultNullProdNewAndNotRequired(), 'default_null_prod_new_and_required' => $this->defaultNullProdNewAndRequired(), - 'default_null_prod_new_and_required_and_filled_notice' => $this->defaultNullProdNewAndRequiredAndFilledNotice( - ) + 'default_null_prod_new_and_required_and_filled_notice' => + $this->defaultNullProdNewAndRequiredAndFilledNotice() ]; }