|
3 | 3 | namespace Vich\UploaderBundle\Tests\DependencyInjection; |
4 | 4 |
|
5 | 5 | use Matthias\SymfonyDependencyInjectionTest\PhpUnit\AbstractExtensionTestCase; |
| 6 | +use PHPUnit\Framework\Attributes\DataProvider; |
6 | 7 | use Symfony\Bundle\TwigBundle\DependencyInjection\TwigExtension; |
| 8 | +use Symfony\Component\DependencyInjection\Reference; |
7 | 9 | use Vich\UploaderBundle\DependencyInjection\VichUploaderExtension; |
| 10 | +use Vich\UploaderBundle\Metadata\CacheWarmer; |
8 | 11 | use Vich\UploaderBundle\Metadata\Driver\AttributeReader; |
9 | 12 | use Vich\UploaderBundle\Storage\FlysystemStorage; |
10 | 13 | use Vich\UploaderBundle\Twig\Extension\UploaderExtension; |
@@ -174,4 +177,29 @@ public function testDeprecatedMetadataDriverAliasStillExists(): void |
174 | 177 |
|
175 | 178 | $this->assertContainerBuilderHasAlias('vich_uploader.metadata_driver.annotation', 'vich_uploader.metadata_driver.attribute'); |
176 | 179 | } |
| 180 | + |
| 181 | + #[DataProvider('cacheWarmerArgumentsProvider')] |
| 182 | + public function testMetadataCacheWarmerArguments( |
| 183 | + string $cache, |
| 184 | + string $expectedCacheDir, |
| 185 | + Reference $expectedMetadataReader |
| 186 | + ): void { |
| 187 | + $this->load([ |
| 188 | + 'metadata' => [ |
| 189 | + 'cache' => $cache, |
| 190 | + ], |
| 191 | + ]); |
| 192 | + |
| 193 | + $this->assertContainerBuilderHasServiceDefinitionWithArgument(CacheWarmer::class, 0, $expectedCacheDir); |
| 194 | + $this->assertContainerBuilderHasServiceDefinitionWithArgument(CacheWarmer::class, 1, $expectedMetadataReader); |
| 195 | + } |
| 196 | + |
| 197 | + public static function cacheWarmerArgumentsProvider(): \Generator |
| 198 | + { |
| 199 | + $metadataReader = new Reference('vich_uploader.metadata_reader'); |
| 200 | + |
| 201 | + yield 'no cache' => ['none', '', $metadataReader]; |
| 202 | + yield 'filesystem cache' => ['file', '%kernel.cache_dir%/vich_uploader', $metadataReader]; |
| 203 | + yield 'custom cache service' => ['service_id', '', $metadataReader]; |
| 204 | + } |
177 | 205 | } |
0 commit comments