Beispiel #1
0
 /**
  * Test for methods _addAttributeValuesToRow()
  *
  * @covers Mage_ImportExport_Model_Export_Entity_EavAbstract::_initAttrValues
  * @covers Mage_ImportExport_Model_Export_Entity_EavAbstract::_addAttributeValuesToRow
  */
 public function testAddAttributeValuesToRow()
 {
     $testAttributeCode = 'lastname';
     $testAttributeValue = 'value';
     $testAttributeOptions = array('value' => 'option');
     /** @var $testAttribute Mage_Eav_Model_Entity_Attribute */
     $testAttribute = $this->getMockForAbstractClass('Mage_Eav_Model_Entity_Attribute_Abstract', array(), '', false);
     $testAttribute->setAttributeCode($testAttributeCode);
     $this->_model->expects($this->any())->method('getAttributeCollection')->will($this->returnValue(array($testAttribute)));
     $this->_model->expects($this->any())->method('getAttributeOptions')->will($this->returnValue($testAttributeOptions));
     /** @var $item Mage_Core_Model_Abstract|PHPUnit_Framework_MockObject_MockObject */
     $item = $this->getMockForAbstractClass('Mage_Core_Model_Abstract', array(), '', false, true, true, array('getData'));
     $item->expects($this->any())->method('getData')->will($this->returnValue($testAttributeValue));
     $method = new ReflectionMethod($this->_model, '_initAttributeValues');
     $method->setAccessible(true);
     $method->invoke($this->_model);
     $method = new ReflectionMethod($this->_model, '_addAttributeValuesToRow');
     $method->setAccessible(true);
     $row = $method->invoke($this->_model, $item);
     /**
      *  Prepare expected data
      */
     $expected = array();
     foreach ($this->_expectedAttributes as $code) {
         $expected[$code] = $testAttributeValue;
         if ($code == $testAttributeCode) {
             $expected[$code] = $testAttributeOptions[$expected[$code]];
         }
     }
     $this->assertEquals($expected, $row, 'Attributes were not added to result row');
 }
Beispiel #2
0
 /**
  * Test for method getAttributeOptions()
  */
 public function testGetAttributeOptions()
 {
     /** @var $attributeCollection Mage_Customer_Model_Resource_Attribute_Collection */
     $attributeCollection = Mage::getResourceModel('Mage_Customer_Model_Resource_Attribute_Collection');
     $attributeCollection->addFieldToFilter('attribute_code', 'gender');
     /** @var $attribute Mage_Customer_Model_Attribute */
     $attribute = $attributeCollection->getFirstItem();
     $expectedOptions = array();
     foreach ($attribute->getSource()->getAllOptions(false) as $option) {
         $expectedOptions[$option['value']] = $option['label'];
     }
     $actualOptions = $this->_model->getAttributeOptions($attribute);
     $this->assertEquals($expectedOptions, $actualOptions);
 }
Beispiel #3
0
 /**
  * Set parameters (push filters from post into export customer model)
  *
  * @param array $parameters
  * @return Mage_ImportExport_Model_Export_Entity_Eav_Customer_Address
  */
 public function setParameters(array $parameters)
 {
     //  push filters from post into export customer model
     $this->_customerEntity->setParameters($parameters);
     $this->_initCustomers();
     return parent::setParameters($parameters);
 }
Beispiel #4
0
 /**
  * Clean up already loaded attribute collection.
  *
  * @param Varien_Data_Collection $collection
  * @return Varien_Data_Collection
  */
 public function filterAttributeCollection(Varien_Data_Collection $collection)
 {
     /** @var $attribute Mage_Customer_Model_Attribute */
     foreach (parent::filterAttributeCollection($collection) as $attribute) {
         if (!empty($this->_attributeOverrides[$attribute->getAttributeCode()])) {
             $data = $this->_attributeOverrides[$attribute->getAttributeCode()];
             if (isset($data['options_method']) && method_exists($this, $data['options_method'])) {
                 $data['filter_options'] = $this->{$data}['options_method']();
             }
             $attribute->addData($data);
         }
     }
     return $collection;
 }