42 lines
1.1 KiB
PHP
42 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Tests;
|
|
|
|
use App\Entity\Conference;
|
|
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
|
|
use Symfony\Component\String\Slugger\SluggerInterface;
|
|
|
|
|
|
class ConferenceSluggerTest extends KernelTestCase
|
|
{
|
|
/**
|
|
* @dataProvider provideConferences
|
|
*/
|
|
public function testConferenceComputeSlug(string $expectedResult, Conference $conference): void
|
|
{
|
|
self::bootKernel();
|
|
$slugger = static::getContainer()->get(SluggerInterface::class);
|
|
|
|
$conference->computeSlug($slugger);
|
|
$this->assertSame($expectedResult, $conference->getSlug());
|
|
}
|
|
|
|
public static function provideConferences(): iterable
|
|
{
|
|
$conference = new Conference();
|
|
$conference->setCity("Barcelona");
|
|
$conference->setyear("2002");
|
|
yield ["barcelona-2002", $conference];
|
|
|
|
$conference = new Conference();
|
|
$conference->setCity("Tokyo");
|
|
$conference->setyear("2020");
|
|
yield ["tokyo-2020", $conference];
|
|
|
|
$conference = new Conference();
|
|
$conference->setCity("Mexico City");
|
|
$conference->setyear("1999");
|
|
yield ["mexico-city-1999", $conference];
|
|
}
|
|
}
|