Пример #1
0
 /**
  * Apply cache options from the fixture data
  *
  * @param array                                   $data
  * @param string                                  $key
  * @param EcomDev_PHPUnit_Model_FixtureInterface $fixture
  *
  * @return EcomDev_PHPUnit_Model_Fixture_Processor_Cache
  */
 public function apply(array $data, $key, EcomDev_PHPUnit_Model_FixtureInterface $fixture)
 {
     $originalOptions = EcomDev_PHPUnit_Test_Case_Util::app()->getCacheOptions();
     $fixture->setStorageData(self::STORAGE_KEY, $originalOptions);
     $data += $originalOptions;
     EcomDev_PHPUnit_Test_Case_Util::app()->setCacheOptions($data);
     return $this;
 }
Пример #2
0
 /**
  * Discard applied scope models
  *
  * @param array[] $data
  * @param string $key
  * @param EcomDev_PHPUnit_Model_FixtureInterface $fixture
  *
  * @return EcomDev_PHPUnit_Model_Fixture_Processor_Scope
  */
 public function discard(array $data, $key, EcomDev_PHPUnit_Model_FixtureInterface $fixture)
 {
     if ($fixture->getStorageData(self::STORAGE_KEY) === null) {
         return $this;
     }
     EcomDev_PHPUnit_Test_Case_Util::app()->disableEvents();
     $scope = array_reverse($fixture->getStorageData(self::STORAGE_KEY));
     foreach ($scope as $models) {
         foreach ($models as $model) {
             $model->delete();
         }
     }
     $fixture->setStorageData(self::STORAGE_KEY, null);
     EcomDev_PHPUnit_Test_Case_Util::app()->getCache()->clean(Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG, array(Mage_Core_Model_Store::CACHE_TAG, Mage_Core_Model_Store_Group::CACHE_TAG, Mage_Core_Model_Website::CACHE_TAG));
     EcomDev_PHPUnit_Test_Case_Util::app()->enableEvents();
     EcomDev_PHPUnit_Test_Case_Util::app()->reinitStores();
     return $this;
 }
Пример #3
0
 /**
  * Sets back old singletons after tests
  *
  * @param array[]                                 $data
  * @param string                                  $key
  * @param EcomDev_PHPUnit_Model_FixtureInterface $fixture
  *
  * @return EcomDev_PHPUnit_Model_Fixture_ProcessorInterface
  */
 public function discard(array $data, $key, EcomDev_PHPUnit_Model_FixtureInterface $fixture)
 {
     if ($fixture->getStorageData(self::STORAGE_KEY) === null) {
         return $this;
     }
     $oldRegistry = $fixture->getStorageData(self::STORAGE_KEY);
     foreach ($oldRegistry as $key => $value) {
         // Set old value to registry
         EcomDev_PHPUnit_Test_Case_Util::app()->replaceRegistry($key, $value);
     }
     $fixture->setStorageData(self::STORAGE_KEY, null);
     return $this;
 }
Пример #4
0
 /**
  * Discard applied table records
  *
  * @param array[] $data
  * @param string $key
  * @param EcomDev_PHPUnit_Model_FixtureInterface $fixture
  *
  * @return EcomDev_PHPUnit_Model_Fixture_Processor_Tables
  */
 public function discard(array $data, $key, EcomDev_PHPUnit_Model_FixtureInterface $fixture)
 {
     $restoreTableData = array();
     // Data for tables used in shared fixture
     if ($fixture->isScopeLocal() && $fixture->getStorageData(self::STORAGE_KEY, EcomDev_PHPUnit_Model_FixtureInterface::SCOPE_SHARED)) {
         $restoreTableData = $fixture->getStorageData(self::STORAGE_KEY, EcomDev_PHPUnit_Model_FixtureInterface::SCOPE_SHARED);
     }
     $this->getResource()->beginTransaction();
     foreach (array_reverse(array_keys($data)) as $tableEntity) {
         $this->getResource()->cleanTable($tableEntity);
     }
     foreach (array_keys($data) as $tableEntity) {
         if (isset($restoreTableData[$tableEntity])) {
             $this->getResource()->loadTableData($tableEntity, $restoreTableData[$tableEntity]);
         }
     }
     $this->getResource()->commit();
     $fixture->setStorageData(self::STORAGE_KEY, null);
     return $this;
 }
Пример #5
0
 /**
  * Discard applied virtual file system structure
  *
  * @param array[] $data
  * @param string $key
  * @param EcomDev_PHPUnit_Model_FixtureInterface $fixture
  *
  * @return EcomDev_PHPUnit_Model_Fixture_Processor_Cache
  */
 public function discard(array $data, $key, EcomDev_PHPUnit_Model_FixtureInterface $fixture)
 {
     $fixture->getVfs()->discard();
     $fixture->setStorageData(self::STORAGE_KEY, null);
     return $this;
 }