We will work on Apr 26th (Saturday) and will be off from Apr 30th (Wednesday) until May 2nd (Friday) for public holiday in our country

Commit 5cd47c08 authored by Jim O'Halloran's avatar Jim O'Halloran

Merge branch 'feature/disable_modules' into feature/bundle_fixture_loader

parents e43bf5d0 504c2848
......@@ -56,6 +56,13 @@ class EcomDev_PHPUnit_Model_Config extends Mage_Core_Model_Config
*/
protected $_cacheSections = array();
/**
* Object containing parsed local.xml.phpunit
*
* @var null
*/
protected $_localXmlForTest = null;
/**
* Load config data from DB
*
......@@ -215,6 +222,22 @@ class EcomDev_PHPUnit_Model_Config extends Mage_Core_Model_Config
return $this;
}
protected function _isAllowedModule($moduleName)
{
if (!parent::_isAllowedModule($moduleName)) {
return false;
}
$localXml = $this->_loadLocalXmlForTest();
if ($localXml) {
$node = $localXml->getNode("phpunit/disable_modules/$moduleName");
return $node === false;
}
return true;
}
/**
* (non-PHPdoc)
* @see Mage_Core_Model_Config::loadModules()
......@@ -235,10 +258,8 @@ class EcomDev_PHPUnit_Model_Config extends Mage_Core_Model_Config
*/
protected function _loadTestConfig()
{
$merge = clone $this->_prototype;
try {
if ($merge->loadFile($this->_getLocalXmlForTest())) {
if ($merge = $this->_loadLocalXmlForTest()) {
$this->_checkDbCredentialForDuplicate($this, $merge);
$this->_checkBaseUrl($this, $merge);
$this->extend($merge);
......@@ -253,6 +274,20 @@ class EcomDev_PHPUnit_Model_Config extends Mage_Core_Model_Config
return $this;
}
/**
* Parse the phpunit specific local configuration. THis may be loaded by
* and used by _isAllowedModule before it's merged into the merged config.
*
* @return Mage_Core_Model_Config_Base|null
*/
protected function _loadLocalXmlForTest() {
if ($this->_localXmlForTest === null) {
$this->_localXmlForTest = clone $this->_prototype;
$this->_localXmlForTest->loadFile($this->_getLocalXmlForTest());
}
return $this->_localXmlForTest;
}
/**
* Loads cache configuration for PHPUnit tests scope
*
......
......@@ -739,6 +739,9 @@ class EcomDev_PHPUnit_Model_Fixture
if (is_dir(Mage::getBaseDir('lib') . DS . 'vfsStream' . DS . 'src')) {
spl_autoload_register(array($this, 'vfsAutoload'), true, true);
}
if( class_exists('\org\bovigo\vfs\vfsStream') ){
$this->_vfs = Mage::getModel('ecomdev_phpunit/fixture_vfs');
return $this->_vfs;
}
......
......@@ -133,11 +133,11 @@ class EcomDev_PHPUnit_Model_Mysql4_Fixture_Eav_Catalog_Product extends EcomDev_P
$records = array();
$attributeCodes = $entityTypeModel->getAttributeCollection();
foreach ($row['super_attributes'] as $attributeCode) {
$oAttribute = $attributeCodes->getItemByColumnValue('attribute_code', $attributeCode);
if(!$oAttribute){
$attribute = $attributeCodes->getItemByColumnValue('attribute_code', $attributeCode);
if(!$attribute){
throw new Exception('Super attribute not found with code: ' . $attributeCode);
}
$attributeId = $oAttribute->getId();
$attributeId = $attribute->getId();
$records[] = array(
'product_id' => $row[$this->_getEntityIdField($entityTypeModel)],
'attribute_id' => $attributeId
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment