9 use Magento\Catalog\Test\Fixture\CatalogProductAttribute;
11 use Magento\Catalog\Test\Page\Adminhtml\CatalogProductEdit;
12 use Magento\Catalog\Test\Page\Adminhtml\CatalogProductIndex;
13 use Magento\Mtf\Constraint\AbstractConstraint;
14 use Magento\Mtf\Fixture\FixtureFactory;
28 const UNIQUE_MESSAGE =
'The value of the "%s" attribute isn\'t unique. Set a unique value and try again.';
49 CatalogProductIndex $catalogProductIndex,
50 CatalogProductEdit $catalogProductEdit,
57 $catalogProductIndex->open()->getGridPageActionBlock()->addProduct(
'simple');
58 $productForm = $catalogProductEdit->getProductForm();
60 $catalogProductEdit->getFormPageActions()->save();
61 $actualErrorMessage = $catalogProductEdit->getMessagesBlock()->getErrorMessage();
62 $attributeLabel =
$attribute->getFrontendLabel();
64 \PHPUnit\Framework\Assert::assertEquals(
65 sprintf(self::UNIQUE_MESSAGE, $attributeLabel),
67 'JS error notice on product edit page is not equal to expected.' 80 return $this->fixtureFactory->createByCode(
81 'catalogProductSimple',
83 'dataset' =>
'product_with_category_with_anchor',
85 'attribute_set_id' => [
86 'attribute_set' =>
$product->getDataFieldConfig(
'attribute_set_id')[
'source']->getAttributeSet()
101 return 'Attribute is unique.';
createSimpleProductFixture(CatalogProductSimple $product, CatalogProductAttribute $attribute)
processAssert(CatalogProductIndex $catalogProductIndex, CatalogProductEdit $catalogProductEdit, CatalogProductAttribute $attribute, CatalogProductSimple $product, FixtureFactory $fixtureFactory)