/**
  *
  * @param FixtureCollectionEvent $event
  */
 public function onPreExecute(FixtureCollectionEvent $event)
 {
     $collection = $event->getCollection();
     foreach ($collection as $name => $fixture) {
         foreach ($fixture as $key => $data) {
             try {
                 $this->executeExpression($data, $collection);
             } catch (\Exception $e) {
                 throw new RuntimeException($name, $key, sprintf("Expression language error '%s'", $e->getMessage()), null, $e);
             }
         }
     }
 }
Пример #2
0
 /**
  *
  * @param FixtureCollectionEvent $event
  */
 public function onPostExecute(FixtureCollectionEvent $event)
 {
     $collection = $event->getCollection();
     foreach ($collection as $fixture) {
         $validationEnabled = $fixture->getProperties()->get('validation_enabled', false);
         if (!$validationEnabled) {
             continue;
         }
         foreach ($fixture as $data) {
             $object = $data->getObject();
             if (!$object) {
                 continue;
             }
             $validationGroup = $fixture->getProperties()->get('validation_group', 'default');
             $violationList = $this->validator->validate($object, null, $validationGroup);
             if (count($violationList) != 0) {
                 throw new ValidationException($fixture->getName(), $data->getKey(), $violationList);
             }
         }
     }
 }
Пример #3
0
 /**
  * @param FixtureCollectionEvent $event
  * @throws \DavidBadura\Fixtures\Util\ObjectAccess\ObjectAccessException
  */
 public function onPostExecute(FixtureCollectionEvent $event)
 {
     $fixtures = $event->getCollection();
     foreach ($fixtures as $fixture) {
         $properties = $fixture->getProperties();
         if (!isset($properties['security']) || $properties['security'] == false) {
             continue;
         }
         $passwordField = isset($properties['security']['password']) ? $properties['security']['password'] : '******';
         $saltField = isset($properties['security']['salt']) ? $properties['security']['salt'] : 'salt';
         foreach ($fixture as $data) {
             $object = $data->getObject();
             if (!$object) {
                 continue;
             }
             $encoder = $this->factory->getEncoder($object);
             $access = new ObjectAccess($object);
             $password = $encoder->encodePassword($access->readProperty($passwordField), $access->readProperty($saltField));
             $access->writeProperty($passwordField, $password);
         }
     }
 }