From d68d551e1632594c5763eadb13b551a9bc2f3520 Mon Sep 17 00:00:00 2001 From: Alexander Skvortsov Date: Tue, 11 May 2021 17:15:11 -0400 Subject: [PATCH] Ensure that migrations run --- .../Extension/ExtensionManagerIncludeCurrent.php | 8 ++++++++ ...00000_create_table_so_we_can_check_existence.php | 10 ++++++++++ .../tests/tests/integration/TestCaseTest.php | 13 +++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 php-packages/testing/tests/migrations/2021_05_11_000000_create_table_so_we_can_check_existence.php diff --git a/php-packages/testing/src/integration/Extension/ExtensionManagerIncludeCurrent.php b/php-packages/testing/src/integration/Extension/ExtensionManagerIncludeCurrent.php index cfc00d71e..8031d20f9 100644 --- a/php-packages/testing/src/integration/Extension/ExtensionManagerIncludeCurrent.php +++ b/php-packages/testing/src/integration/Extension/ExtensionManagerIncludeCurrent.php @@ -69,6 +69,14 @@ class ExtensionManagerIncludeCurrent extends ExtensionManager return $this->extensions; } + /** + * Since we enable every time, we always assume it's not enabled. + */ + public function isEnabled($extension) + { + return false; + } + /** * In test cases, enabled extensions are determined by the test case, not the database. */ diff --git a/php-packages/testing/tests/migrations/2021_05_11_000000_create_table_so_we_can_check_existence.php b/php-packages/testing/tests/migrations/2021_05_11_000000_create_table_so_we_can_check_existence.php new file mode 100644 index 000000000..649dff1b9 --- /dev/null +++ b/php-packages/testing/tests/migrations/2021_05_11_000000_create_table_so_we_can_check_existence.php @@ -0,0 +1,10 @@ +string('id', 100)->primary(); +}); \ No newline at end of file diff --git a/php-packages/testing/tests/tests/integration/TestCaseTest.php b/php-packages/testing/tests/tests/integration/TestCaseTest.php index 9efd32302..af7f6252b 100644 --- a/php-packages/testing/tests/tests/integration/TestCaseTest.php +++ b/php-packages/testing/tests/tests/integration/TestCaseTest.php @@ -14,6 +14,8 @@ use Flarum\Foundation\Config; use Flarum\Settings\SettingsRepositoryInterface; use Flarum\Testing\integration\TestCase; use Flarum\User\User; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Database\Schema\Builder; class TestCaseTest extends TestCase { @@ -112,6 +114,17 @@ class TestCaseTest extends TestCase $this->assertStringContainsString('notARealSetting', $response->getBody()->getContents()); } + /** + * @test + */ + public function current_extension_migrations_applied_if_specified() + { + $this->extension('flarum-testing-tests'); + + $tableExists = $this->app()->getContainer()->make(Builder::class)->hasTable('testing_table'); + $this->assertTrue($tableExists); + } + /** * @test */