35 lines
1.2 KiB
PHP
35 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace WPContentSync\Tests\Unit;
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
use WPContentSync\Container;
|
|
use WPContentSync\Plugin;
|
|
use WPContentSync\Url\MetadataUrlTransformer;
|
|
use WPContentSync\Url\UrlTransformer;
|
|
|
|
class PluginTest extends TestCase {
|
|
public function test_it_registers_url_transformation_services(): void {
|
|
$container = $this->getPluginContainer( Plugin::create() );
|
|
|
|
$url_transformer = $container->get( UrlTransformer::class );
|
|
$metadata_transformer = $container->get( MetadataUrlTransformer::class );
|
|
|
|
self::assertInstanceOf( UrlTransformer::class, $url_transformer );
|
|
self::assertInstanceOf( MetadataUrlTransformer::class, $metadata_transformer );
|
|
self::assertSame( $url_transformer, $container->get( UrlTransformer::class ) );
|
|
self::assertSame( $metadata_transformer, $container->get( MetadataUrlTransformer::class ) );
|
|
}
|
|
|
|
private function getPluginContainer( Plugin $plugin ): Container {
|
|
$reflection = new \ReflectionClass( $plugin );
|
|
$property = $reflection->getProperty( 'container' );
|
|
$property->setAccessible( true );
|
|
|
|
/** @var Container $container */
|
|
$container = $property->getValue( $plugin );
|
|
|
|
return $container;
|
|
}
|
|
}
|