mirror of
				https://github.com/kevinveenbirkenbach/infinito.git
				synced 2025-11-03 18:58:01 +00:00 
			
		
		
		
	Implemented FixtureManagement
This commit is contained in:
		@@ -5,8 +5,9 @@ namespace Tests\Integration\DataFixtures;
 | 
			
		||||
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
 | 
			
		||||
use Doctrine\ORM\EntityManager;
 | 
			
		||||
use App\Entity\Source\AbstractSource;
 | 
			
		||||
use App\DBAL\Types\SystemSlugType;
 | 
			
		||||
use App\Entity\Source\Complex\UserSourceInterface;
 | 
			
		||||
use App\Domain\FixtureManagement\FixtureSource\ImpressumFixtureSource;
 | 
			
		||||
use App\Domain\FixtureManagement\FixtureSource\GuestUserFixtureSource;
 | 
			
		||||
 | 
			
		||||
class SourceFixturesIntegrationTest extends KernelTestCase
 | 
			
		||||
{
 | 
			
		||||
@@ -24,14 +25,14 @@ class SourceFixturesIntegrationTest extends KernelTestCase
 | 
			
		||||
    public function testImpressumSource(): void
 | 
			
		||||
    {
 | 
			
		||||
        $sourceRepository = $this->entityManager->getRepository(AbstractSource::class);
 | 
			
		||||
        $imprint = $sourceRepository->findOneBySlug(SystemSlugType::IMPRINT);
 | 
			
		||||
        $imprint = $sourceRepository->findOneBySlug(ImpressumFixtureSource::SLUG);
 | 
			
		||||
        $this->assertInternalType('string', $imprint->getText());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function testGuestUserSource(): void
 | 
			
		||||
    {
 | 
			
		||||
        $sourceRepository = $this->entityManager->getRepository(AbstractSource::class);
 | 
			
		||||
        $userSource = $sourceRepository->findOneBySlug(SystemSlugType::GUEST_USER);
 | 
			
		||||
        $userSource = $sourceRepository->findOneBySlug(GuestUserFixtureSource::SLUG);
 | 
			
		||||
        $this->assertInstanceOf(UserSourceInterface::class, $userSource);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,46 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace tests\Integration\Domain\FixtureManagement;
 | 
			
		||||
 | 
			
		||||
use PHPUnit\Framework\TestCase;
 | 
			
		||||
use App\Domain\FixtureManagement\FixtureSourceFactory;
 | 
			
		||||
use App\Domain\FixtureManagement\FixtureSource\FixtureSourceInterface;
 | 
			
		||||
use App\Entity\Source\SourceInterface;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @author kevinfrantz
 | 
			
		||||
 */
 | 
			
		||||
class FixtureSourceFactoryTest extends TestCase
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * @var array|FixtureSourceInterface[]
 | 
			
		||||
     */
 | 
			
		||||
    protected $fixtureSources;
 | 
			
		||||
 | 
			
		||||
    public function setUp(): void
 | 
			
		||||
    {
 | 
			
		||||
        $this->fixtureSources = FixtureSourceFactory::getAllFixtureSources();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function testFixtureSourcesSlugs(): void
 | 
			
		||||
    {
 | 
			
		||||
        $slugs = [];
 | 
			
		||||
        foreach ($this->fixtureSources as $fixtureSource) {
 | 
			
		||||
            $this->assertInstanceOf(FixtureSourceInterface::class, $fixtureSource);
 | 
			
		||||
            $slug = $fixtureSource->getSlug();
 | 
			
		||||
            $this->assertIsString($slug);
 | 
			
		||||
            $this->assertFalse(in_array($slug, $slugs), 'A slug has to be unique');
 | 
			
		||||
            $slugs[] = $slug;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function testFixtureSourcesObjects(): void
 | 
			
		||||
    {
 | 
			
		||||
        $objects = [];
 | 
			
		||||
        foreach ($this->fixtureSources as $fixtureSource) {
 | 
			
		||||
            $this->assertInstanceOf(SourceInterface::class, $fixtureSource->getORMReadyObject());
 | 
			
		||||
            $this->assertFalse(in_array($fixtureSource, $objects), 'A slug has to be unique');
 | 
			
		||||
            $objects[] = $fixtureSource;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user