/** * Test for method getAttributeOptions() */ public function testGetAttributeOptions() { $indexAttributeCode = 'gender'; /** @var $attributeCollection \Magento\Customer\Model\Resource\Attribute\Collection */ $attributeCollection = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\Customer\\Model\\Resource\\Attribute\\Collection'); $attributeCollection->addFieldToFilter('attribute_code', ['in' => [$indexAttributeCode, 'group_id']]); /** @var $attribute \Magento\Customer\Model\Attribute */ foreach ($attributeCollection as $attribute) { $index = $attribute->getAttributeCode() == $indexAttributeCode ? 'value' : 'label'; $expectedOptions = []; foreach ($attribute->getSource()->getAllOptions(false) as $option) { $expectedOptions[strtolower($option[$index])] = $option['value']; } $actualOptions = $this->_model->getAttributeOptions($attribute, [$indexAttributeCode]); sort($expectedOptions); sort($actualOptions); $this->assertEquals($expectedOptions, $actualOptions); } }
/** * @param \Magento\Framework\Stdlib\String $string * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig * @param \Magento\ImportExport\Model\ImportFactory $importFactory * @param \Magento\ImportExport\Model\Resource\Helper $resourceHelper * @param \Magento\Framework\App\Resource $resource * @param \Magento\Store\Model\StoreManagerInterface $storeManager * @param \Magento\ImportExport\Model\Export\Factory $collectionFactory * @param \Magento\Eav\Model\Config $eavConfig * @param \Magento\CustomerImportExport\Model\Resource\Import\Customer\StorageFactory $storageFactory * @param array $data * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct(\Magento\Framework\Stdlib\String $string, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\ImportExport\Model\ImportFactory $importFactory, \Magento\ImportExport\Model\Resource\Helper $resourceHelper, \Magento\Framework\App\Resource $resource, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\ImportExport\Model\Export\Factory $collectionFactory, \Magento\Eav\Model\Config $eavConfig, \Magento\CustomerImportExport\Model\Resource\Import\Customer\StorageFactory $storageFactory, array $data = []) { $this->_storageFactory = $storageFactory; parent::__construct($string, $scopeConfig, $importFactory, $resourceHelper, $resource, $storeManager, $collectionFactory, $eavConfig, $data); $this->addMessageTemplate(self::ERROR_WEBSITE_IS_EMPTY, __('Website is not specified')); $this->addMessageTemplate(self::ERROR_EMAIL_IS_EMPTY, __('E-mail is not specified')); $this->addMessageTemplate(self::ERROR_INVALID_WEBSITE, __("Invalid value in website column")); $this->addMessageTemplate(self::ERROR_INVALID_EMAIL, __('E-mail is invalid')); $this->addMessageTemplate(self::ERROR_VALUE_IS_REQUIRED, __("Required attribute '%s' has an empty value")); $this->addMessageTemplate(self::ERROR_CUSTOMER_NOT_FOUND, __("Customer with such email and website code doesn't exist")); $this->_initCustomers($data)->_initWebsites(true); }
/** * @param \Magento\Framework\Stdlib\StringUtils $string * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig * @param \Magento\ImportExport\Model\ImportFactory $importFactory * @param \Magento\ImportExport\Model\ResourceModel\Helper $resourceHelper * @param \Magento\Framework\App\ResourceConnection $resource * @param ProcessingErrorAggregatorInterface $errorAggregator * @param \Magento\Store\Model\StoreManagerInterface $storeManager * @param \Magento\ImportExport\Model\Export\Factory $collectionFactory * @param \Magento\Eav\Model\Config $eavConfig * @param \Magento\CustomerImportExport\Model\ResourceModel\Import\Customer\StorageFactory $storageFactory * @param array $data * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct(\Magento\Framework\Stdlib\StringUtils $string, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\ImportExport\Model\ImportFactory $importFactory, \Magento\ImportExport\Model\ResourceModel\Helper $resourceHelper, \Magento\Framework\App\ResourceConnection $resource, ProcessingErrorAggregatorInterface $errorAggregator, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\ImportExport\Model\Export\Factory $collectionFactory, \Magento\Eav\Model\Config $eavConfig, \Magento\CustomerImportExport\Model\ResourceModel\Import\Customer\StorageFactory $storageFactory, array $data = []) { $this->_storageFactory = $storageFactory; parent::__construct($string, $scopeConfig, $importFactory, $resourceHelper, $resource, $errorAggregator, $storeManager, $collectionFactory, $eavConfig, $data); $this->addMessageTemplate(self::ERROR_WEBSITE_IS_EMPTY, __('Please specify a website.')); $this->addMessageTemplate(self::ERROR_EMAIL_IS_EMPTY, __('Please specify an email.')); $this->addMessageTemplate(self::ERROR_INVALID_WEBSITE, __('We found an invalid value in a website column.')); $this->addMessageTemplate(self::ERROR_INVALID_EMAIL, __('Please enter a valid email.')); $this->addMessageTemplate(self::ERROR_VALUE_IS_REQUIRED, __('Please make sure attribute "%s" is not empty.')); $this->addMessageTemplate(self::ERROR_CUSTOMER_NOT_FOUND, __('We can\'t find a customer who matches this email and website code.')); $this->_initCustomers($data)->_initWebsites(true); }
/** * Test entity type id getter * * @covers \Magento\ImportExport\Model\Import\Entity\AbstractEav::getEntityTypeId */ public function testGetEntityTypeId() { $this->assertEquals(self::ENTITY_TYPE_ID, $this->_model->getEntityTypeId()); }