mirror of
https://github.com/kevinveenbirkenbach/infinito.git
synced 2025-09-13 13:57:10 +02:00
Optimized fixtures
This commit is contained in:
@@ -6,21 +6,31 @@ use Doctrine\Bundle\FixturesBundle\Fixture;
|
||||
use Doctrine\Common\Persistence\ObjectManager;
|
||||
use App\Entity\User;
|
||||
use FOS\UserBundle\Doctrine\UserManager;
|
||||
use App\Entity\UserInterface;
|
||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
||||
|
||||
/**
|
||||
* Never execute this fixture on a livesystem!
|
||||
*
|
||||
* @author kevinfrantz
|
||||
*/
|
||||
class DummyFixtures extends Fixture
|
||||
class DummyFixtures extends Fixture implements ContainerAwareInterface
|
||||
{
|
||||
private $container;
|
||||
|
||||
public function setContainer(ContainerInterface $container = null)
|
||||
{
|
||||
$this->container = $container;
|
||||
}
|
||||
|
||||
public function load(ObjectManager $manager)
|
||||
{
|
||||
$this->addTestUser();
|
||||
$manager->persist($this->getTestUser());
|
||||
$manager->flush();
|
||||
}
|
||||
|
||||
protected function addTestUser(): void
|
||||
protected function getTestUser(): UserInterface
|
||||
{
|
||||
/**
|
||||
* @var UserManager
|
||||
@@ -35,5 +45,7 @@ class DummyFixtures extends Fixture
|
||||
$testUser->setPlainPassword('test');
|
||||
$testUser->setEnabled(true);
|
||||
$userManager->updateUser($testUser);
|
||||
|
||||
return $testUser;
|
||||
}
|
||||
}
|
||||
|
27
application/src/DataFixtures/SourceFixtures.php
Normal file
27
application/src/DataFixtures/SourceFixtures.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\DataFixtures;
|
||||
|
||||
use Doctrine\Bundle\FixturesBundle\Fixture;
|
||||
use Doctrine\Common\Persistence\ObjectManager;
|
||||
use App\Entity\Source\Primitive\Text\TextSource;
|
||||
use App\Entity\Source\Primitive\Text\TextSourceInterface;
|
||||
use App\DBAL\Types\SystemSlugType;
|
||||
|
||||
class SourceFixtures extends Fixture
|
||||
{
|
||||
public function load(ObjectManager $manager)
|
||||
{
|
||||
$manager->persist($this->getImpressum());
|
||||
$manager->flush();
|
||||
}
|
||||
|
||||
private function getImpressum(): TextSourceInterface
|
||||
{
|
||||
$source = new TextSource();
|
||||
$source->setText('Example Impressum');
|
||||
$source->setSlug(SystemSlugType::IMPRINT);
|
||||
|
||||
return $source;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user