diff --git a/framework/core/composer.json b/framework/core/composer.json index a7ddf99df..15b2d449a 100644 --- a/framework/core/composer.json +++ b/framework/core/composer.json @@ -86,5 +86,14 @@ "branch-alias": { "dev-master": "0.1.x-dev" } + }, + "scripts": { + "test": [ + "@test:unit", + "@test:integration" + ], + "test:unit": "phpunit -c tests/phpunit.unit.xml", + "test:integration": "phpunit -c tests/phpunit.integration.xml", + "test:setup": "@php tests/integration/setup.php" } } diff --git a/framework/core/tests/integration/setup.php b/framework/core/tests/integration/setup.php new file mode 100644 index 000000000..e207e29d0 --- /dev/null +++ b/framework/core/tests/integration/setup.php @@ -0,0 +1,53 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +use Flarum\Install\AdminUser; +use Flarum\Install\DatabaseConfig; +use Flarum\Install\Installation; + +require __DIR__.'/../../vendor/autoload.php'; + +/* + * Setup installation configuration + */ + +$installation = new Installation( + __DIR__.'/tmp', + __DIR__.'/tmp/public', + __DIR__.'/tmp/storage' +); + +$pipeline = $installation + ->configPath('config.php') + ->debugMode(true) + ->baseUrl('http://localhost') + ->databaseConfig(new DatabaseConfig( + 'mysql', + env('DB_HOST', 'localhost'), + intval(env('DB_PORT', 3306)), + env('DB_DATABASE', 'flarum_test'), + env('DB_USERNAME', 'root'), + env('DB_PASSWORD', ''), + env('DB_PREFIX', '') + )) + ->adminUser(new AdminUser( + 'admin', + 'secret', + 'admin@flarum.email' + )) + ->settings(['mail_driver' => 'log']) + ->build(); + +/* + * Run the actual configuration + */ + +$pipeline->run();