diff --git a/composer.json b/composer.json index 5545b56b..865cd294 100644 --- a/composer.json +++ b/composer.json @@ -102,5 +102,10 @@ "Yokai\\Batch\\Tests\\Bridge\\Symfony\\Uid\\": "src/batch-symfony-uid/tests/", "Yokai\\Batch\\Tests\\Bridge\\Symfony\\Validator\\": "src/batch-symfony-validator/tests/" } + }, + "extra": { + "yokai": { + "require": "^0.7.0" + } } } diff --git a/tests/convention/Dependency/PackagesTest.php b/tests/convention/Dependency/PackagesTest.php index 22b6e48f..4f51841a 100644 --- a/tests/convention/Dependency/PackagesTest.php +++ b/tests/convention/Dependency/PackagesTest.php @@ -91,6 +91,31 @@ public function testPackagesAreUsingSameDependencyVersions(): void } } + /** + * Every individual package must declare explicit dependencies, based on use statements. + * + * @dataProvider packages + */ + public function testPackagesAreUsingCurrentYokaiVersion(Package $package): void + { + $expectedVersion = '^0.7.0'; //todo + + $expected = []; + $actual = []; + foreach ($package->composer->require() as $require => $version) { + if (\str_starts_with($require, 'yokai/')) { + $expected[$require] = $expectedVersion; + $actual[$require] = $version; + } + } + + self::assertSame( + $expected, + $actual, + "{$package->name} must use current yokai/* packages version: {$expectedVersion}.", + ); + } + public function packages(): iterable { /** @var Package $package */