mirror of
https://github.com/doctrine/doctrine-website.git
synced 2026-03-23 22:32:11 +01:00
79 lines
2.0 KiB
PHP
79 lines
2.0 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Doctrine\Website\Tests\Projects;
|
|
|
|
use Doctrine\Website\Projects\Project;
|
|
use Doctrine\Website\Projects\ProjectFactory;
|
|
use Doctrine\Website\Projects\ProjectRepository;
|
|
use Doctrine\Website\Tests\TestCase;
|
|
|
|
class ProjectRepositoryTest extends TestCase
|
|
{
|
|
/** @var mixed[] */
|
|
private $projectsData = [
|
|
['repositoryName' => 'doctrine2'],
|
|
['repositoryName' => 'dbal'],
|
|
];
|
|
|
|
/** @var ProjectFactory */
|
|
private $projectFactory;
|
|
|
|
/** @var ProjectRepository */
|
|
private $projectRepository;
|
|
|
|
protected function setUp() : void
|
|
{
|
|
$this->projectFactory = $this->createMock(ProjectFactory::class);
|
|
|
|
$project1 = new Project([
|
|
'name' => 'ORM',
|
|
'slug' => 'orm',
|
|
'docsSlug' => 'doctrine-orm',
|
|
]);
|
|
|
|
$project2 = new Project([
|
|
'name' => 'DBAL',
|
|
'slug' => 'dbal',
|
|
'docsSlug' => 'doctrine-dbal',
|
|
]);
|
|
|
|
$this->projectFactory->expects(self::at(0))
|
|
->method('create')
|
|
->with('doctrine2')
|
|
->willReturn($project1);
|
|
|
|
$this->projectFactory->expects(self::at(1))
|
|
->method('create')
|
|
->with('dbal')
|
|
->willReturn($project2);
|
|
|
|
$this->projectRepository = new ProjectRepository($this->projectsData, $this->projectFactory);
|
|
}
|
|
|
|
public function testFindOneBySlug() : void
|
|
{
|
|
$orm = $this->projectRepository->findOneBySlug('orm');
|
|
|
|
self::assertSame('ORM', $orm->getName());
|
|
|
|
$orm = $this->projectRepository->findOneBySlug('doctrine-orm');
|
|
|
|
self::assertSame('ORM', $orm->getName());
|
|
|
|
$dbal = $this->projectRepository->findOneBySlug('dbal');
|
|
|
|
self::assertSame('DBAL', $dbal->getName());
|
|
|
|
$dbal = $this->projectRepository->findOneBySlug('doctrine-dbal');
|
|
|
|
self::assertSame('DBAL', $dbal->getName());
|
|
}
|
|
|
|
public function testFindAll() : void
|
|
{
|
|
self::assertCount(2, $this->projectRepository->findAll());
|
|
}
|
|
}
|