Esempio n. 1
0
 public function setUp()
 {
     $client = self::createClient();
     $container = $client->getKernel()->getContainer();
     $em = $container->get('doctrine')->getManager();
     // Purge tables
     $purger = new \Doctrine\Common\DataFixtures\Purger\ORMPurger($em);
     $executor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor($em, $purger);
     $executor->purge();
     // Load fixtures
     $loader = new \Doctrine\Common\DataFixtures\Loader();
     $users = new \AppBundle\DataFixtures\ORM\LoadUserData();
     $users->setContainer($container);
     $loader->addFixture($users);
     $projects = new \AppBundle\DataFixtures\ORM\LoadProjectData();
     $projects->setContainer($container);
     $loader->addFixture($projects);
     $issues = new \AppBundle\DataFixtures\ORM\LoadIssueData();
     $issues->setContainer($container);
     $loader->addFixture($issues);
     $activity = new \AppBundle\DataFixtures\ORM\LoadActivityData();
     $activity->setContainer($container);
     $loader->addFixture($activity);
     $executor->execute($loader->getFixtures());
 }
Esempio n. 2
0
 protected function loadFixture($fixture)
 {
     $loader = new \Doctrine\Common\DataFixtures\Loader();
     $loader->addFixture($fixture);
     $purger = new \Doctrine\Common\DataFixtures\Purger\ORMPurger($this->entityManager);
     $executor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor($this->entityManager, $purger);
     $executor->execute($loader->getFixtures());
 }
 /**
  * @param array $aFixtures
  * @throws \InvalidArgumentException
  * @return \BoilerAppTest\Dotrine\DoctrineUtilsTrait
  */
 protected function addFixtures(array $aFixtures)
 {
     //Purge old fixtures
     if ($this->getDbCreated()) {
         $this->getORMPurger()->purge();
     } else {
         $this->createDatabase();
     }
     $oLoader = new \Doctrine\Common\DataFixtures\Loader();
     foreach ($aFixtures as $oFixture) {
         if (is_string($oFixture)) {
             if (class_exists($oFixture)) {
                 $oFixture = new $oFixture();
             } elseif (file_exists($oFixture)) {
                 require_once $oFixture;
                 foreach (get_declared_classes() as $sClassName) {
                     $oReflectionClass = new \ReflectionClass($sClassName);
                     if ($oReflectionClass->getFileName() === $oFixture && !$oReflectionClass->isAbstract() && in_array('Doctrine\\Common\\DataFixtures\\FixtureInterface', class_implements($sClassName))) {
                         $oFixture = new $sClassName();
                         break;
                     }
                 }
             }
         }
         if (!is_object($oFixture) || !$oFixture instanceof \Doctrine\Common\DataFixtures\FixtureInterface) {
             throw new \InvalidArgumentException(sprintf('Fixture is not valid : "%s"', is_scalar($oFixture) ? $oFixture : (is_object($oFixture) ? get_class($oFixture) : gettype($oFixture))));
         }
         //Set service locator if needed
         if ($oFixture instanceof \Zend\ServiceManager\ServiceLocatorAwareInterface) {
             $oFixture->setServiceLocator($this->getServiceManager());
         }
         $oLoader->addFixture($oFixture);
     }
     $this->getORMExecutor()->execute($oLoader->getFixtures());
     return $this;
 }
Esempio n. 4
0
 /**
  * Loads an array of fixtures.
  *
  * @param string[] $fixtureClasses List of fixture class names
  * @param bool $append
  * @return $this
  * @throws \Exception
  */
 public function loadFixtures(array $fixtureClasses, $append = false)
 {
     $loader = new \Doctrine\Common\DataFixtures\Loader();
     foreach ($fixtureClasses as $fixtureClass) {
         if (!class_Exists($fixtureClass)) {
             throw new \Exception('Could not locate the fixture class ' . $fixtureClass . '. Ensure it is autoloadable');
         }
         $fixture = new $fixtureClass();
         $loader->addFixture($fixture);
     }
     $purger = new \Doctrine\Common\DataFixtures\Purger\ORMPurger();
     $executor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor($this->getEntityManager(), $purger);
     $executor->setReferenceRepository($this->getFixtureReferenceRepo());
     $executor->execute($loader->getFixtures(), $append);
     return $this;
 }
Esempio n. 5
0
<?php

$loader = (require __DIR__ . '/vendor/autoload.php');
\Doctrine\Common\Annotations\AnnotationRegistry::registerLoader(array($loader, 'loadClass'));
$config = (require __DIR__ . '/app/config.php');
$app = new \Silex\Application($config['common']);
require "public/bootstrap.php";
$loader = new \Doctrine\Common\DataFixtures\Loader();
$loader->addFixture(new \Jowy\P2bj\Fixtures\UserDataFixtures());
$purger = new \Doctrine\Common\DataFixtures\Purger\ORMPurger();
$executor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor($app['orm.em'], $purger);
$executor->execute($loader->getFixtures());