diff --git a/.phpstan/config.neon b/.phpstan/config.neon index 471a4793..761380bd 100644 --- a/.phpstan/config.neon +++ b/.phpstan/config.neon @@ -1,4 +1,6 @@ parameters: + bootstrapFiles: + - constants.php level: 0 paths: - ../helpers diff --git a/.phpstan/constants.php b/.phpstan/constants.php new file mode 100644 index 00000000..d0d94090 --- /dev/null +++ b/.phpstan/constants.php @@ -0,0 +1,15 @@ +hidden() + ); + } + + public function testReadOnly(): void + { + self::assertSame( + [ + NAILS_DB_PREFIX . 'admin_help_video.vimeo_id', + NAILS_DB_PREFIX . 'admin_note.item_model', + NAILS_DB_PREFIX . 'admin_dashboard_widget.config', + ], + (new Package())->readOnly() + ); + } +} diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 93ac78fe..67eac2b9 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -5,3 +5,15 @@ require 'vendor/autoload.php'; Testing::bootstrapModule(__FILE__); + +if (!interface_exists(\Nails\FindReplace\Interfaces\Exclusion::class, false)) { + foreach ([ + dirname(__DIR__) . '/vendor/nails/common/src/FindReplace/Interfaces/Exclusion.php', + dirname(__DIR__, 2) . '/common/src/FindReplace/Interfaces/Exclusion.php', + ] as $nailsFindReplaceExclusion) { + if (is_file($nailsFindReplaceExclusion)) { + require_once $nailsFindReplaceExclusion; + break; + } + } +}