. */ namespace App\Tests\Services\LabelSystem\PlaceholderProviders; use App\Entity\Contracts\NamedElementInterface; use App\Entity\Parts\Part; use App\Services\LabelSystem\PlaceholderProviders\GlobalProviders; use App\Services\LabelSystem\PlaceholderProviders\NamedElementProvider; use PHPUnit\Framework\TestCase; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; class NamedElementProviderTest extends WebTestCase { /** @var NamedElementProvider */ protected $service; protected $target; public function setUp(): void { self::bootKernel(); $this->service = self::$container->get(NamedElementProvider::class); $this->target = new class implements NamedElementInterface { /** * @inheritDoc */ public function getName(): string { return 'This is my Name'; } }; } public function dataProvider(): array { return [ ['This is my Name', '[[NAME]]'] ]; } /** * @dataProvider dataProvider */ public function testReplace(string $expected, string $placeholder): void { $this->assertSame($expected, $this->service->replace($placeholder, $this->target)); } }