From 7de19b8827fb74f0a32ea918c9188cfda9b18e10 Mon Sep 17 00:00:00 2001 From: phenaproxima <phenaproxima@205645.no-reply.drupal.org> Date: Wed, 21 Sep 2022 16:27:55 +0000 Subject: [PATCH] Issue #3310936 by phenaproxima: Replace packages_comparison fixture with a unit test that mocks ComposerUtility::getInstalledPackages() --- .../packages_comparison/active/composer.json | 1 - .../active/vendor/composer/installed.json | 16 ------------ .../packages_comparison/stage/composer.json | 1 - .../stage/vendor/composer/installed.json | 16 ------------ .../tests/src/Kernel/ComposerUtilityTest.php | 19 -------------- .../tests/src/Unit/ComposerUtilityTest.php | 26 +++++++++++++++++++ 6 files changed, 26 insertions(+), 53 deletions(-) delete mode 100644 package_manager/tests/fixtures/packages_comparison/active/composer.json delete mode 100644 package_manager/tests/fixtures/packages_comparison/active/vendor/composer/installed.json delete mode 100644 package_manager/tests/fixtures/packages_comparison/stage/composer.json delete mode 100644 package_manager/tests/fixtures/packages_comparison/stage/vendor/composer/installed.json diff --git a/package_manager/tests/fixtures/packages_comparison/active/composer.json b/package_manager/tests/fixtures/packages_comparison/active/composer.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/package_manager/tests/fixtures/packages_comparison/active/composer.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/package_manager/tests/fixtures/packages_comparison/active/vendor/composer/installed.json b/package_manager/tests/fixtures/packages_comparison/active/vendor/composer/installed.json deleted file mode 100644 index 2152ef82fb..0000000000 --- a/package_manager/tests/fixtures/packages_comparison/active/vendor/composer/installed.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "packages": [ - { - "name": "drupal/existing", - "version": "1.0.0" - }, - { - "name": "drupal/updated", - "version": "1.0.0" - }, - { - "name": "drupal/removed", - "version": "1.0.0" - } - ] -} diff --git a/package_manager/tests/fixtures/packages_comparison/stage/composer.json b/package_manager/tests/fixtures/packages_comparison/stage/composer.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/package_manager/tests/fixtures/packages_comparison/stage/composer.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/package_manager/tests/fixtures/packages_comparison/stage/vendor/composer/installed.json b/package_manager/tests/fixtures/packages_comparison/stage/vendor/composer/installed.json deleted file mode 100644 index 562b5f5601..0000000000 --- a/package_manager/tests/fixtures/packages_comparison/stage/vendor/composer/installed.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "packages": [ - { - "name": "drupal/existing", - "version": "1.0.0" - }, - { - "name": "drupal/updated", - "version": "1.1.0" - }, - { - "name": "drupal/added", - "version": "1.0.0" - } - ] -} diff --git a/package_manager/tests/src/Kernel/ComposerUtilityTest.php b/package_manager/tests/src/Kernel/ComposerUtilityTest.php index 6046c781d5..5433200767 100644 --- a/package_manager/tests/src/Kernel/ComposerUtilityTest.php +++ b/package_manager/tests/src/Kernel/ComposerUtilityTest.php @@ -43,25 +43,6 @@ class ComposerUtilityTest extends KernelTestBase { $this->assertFileDoesNotExist($dir . '/.htaccess'); } - /** - * @covers ::getPackagesNotIn - * @covers ::getPackagesWithDifferentVersionsIn - */ - public function testPackageComparison(): void { - $fixture_dir = __DIR__ . '/../../fixtures/packages_comparison'; - $active = ComposerUtility::createForDirectory($fixture_dir . '/active'); - $staged = ComposerUtility::createForDirectory($fixture_dir . '/stage'); - - $added = $staged->getPackagesNotIn($active); - $this->assertSame(['drupal/added'], array_keys($added)); - - $removed = $active->getPackagesNotIn($staged); - $this->assertSame(['drupal/removed'], array_keys($removed)); - - $updated = $active->getPackagesWithDifferentVersionsIn($staged); - $this->assertSame(['drupal/updated'], array_keys($updated)); - } - /** * @covers ::getProjectForPackage * diff --git a/package_manager/tests/src/Unit/ComposerUtilityTest.php b/package_manager/tests/src/Unit/ComposerUtilityTest.php index 2f6762fd7a..b81c053503 100644 --- a/package_manager/tests/src/Unit/ComposerUtilityTest.php +++ b/package_manager/tests/src/Unit/ComposerUtilityTest.php @@ -52,6 +52,32 @@ class ComposerUtilityTest extends UnitTestCase { $this->assertSame($expected_core_package_names, array_keys($core_packages)); } + /** + * @covers ::getPackagesNotIn + * @covers ::getPackagesWithDifferentVersionsIn + */ + public function testPackageComparison(): void { + $active = $this->mockUtilityWithPackages([ + 'drupal/existing' => '1.0.0', + 'drupal/updated' => '1.0.0', + 'drupal/removed' => '1.0.0', + ]); + $staged = $this->mockUtilityWithPackages([ + 'drupal/existing' => '1.0.0', + 'drupal/updated' => '1.1.0', + 'drupal/added' => '1.0.0', + ]); + + $added = $staged->getPackagesNotIn($active); + $this->assertSame(['drupal/added'], array_keys($added)); + + $removed = $active->getPackagesNotIn($staged); + $this->assertSame(['drupal/removed'], array_keys($removed)); + + $updated = $active->getPackagesWithDifferentVersionsIn($staged); + $this->assertSame(['drupal/updated'], array_keys($updated)); + } + /** * Mocks a ComposerUtility object to return a set of installed packages. * -- GitLab