Files
WP-Content-Sync/tests/Unit/PluginTest.php
T
2026-04-26 15:00:36 -05:00

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;
}
}