lumen-generators/lumen-test/tests/acceptance/MigrationCommandCept.php

93 lines
3.2 KiB
PHP
Raw Normal View History

2016-12-29 18:35:34 +03:00
<?php
2015-09-26 04:43:35 +03:00
$I = new AcceptanceTester($scenario);
$I->wantTo('generate a migration without schema');
2015-09-27 00:43:06 +03:00
$I->runShellCommand('php artisan wn:migration tasks --file=create_tasks');
2015-09-26 04:43:35 +03:00
$I->seeInShellOutput('tasks migration generated');
$I->seeFileFound('./database/migrations/create_tasks.php');
$I->openFile('./database/migrations/create_tasks.php');
$I->seeFileContentsEqual('<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
2015-10-07 19:49:26 +03:00
class CreateTasksTable extends Migration
2015-09-26 04:43:35 +03:00
{
2016-12-29 18:35:34 +03:00
2015-09-26 04:43:35 +03:00
public function up()
{
Schema::create(\'tasks\', function(Blueprint $table) {
$table->increments(\'id\');
2015-09-27 00:43:06 +03:00
// Schema declaration
// Constraints declaration
2015-09-26 04:43:35 +03:00
$table->timestamps();
});
}
public function down()
{
Schema::drop(\'tasks\');
}
}
');
$I->deleteFile('./database/migrations/create_tasks.php');
2015-09-27 00:43:06 +03:00
$I->wantTo('generate a migration with schema');
$I->runShellCommand('php artisan wn:migration tasks --file=create_tasks --schema="amount:decimal.5,2:after.\'size\':default.8 title:string:nullable"');
2015-09-26 04:43:35 +03:00
$I->seeInShellOutput('tasks migration generated');
$I->seeFileFound('./database/migrations/create_tasks.php');
$I->openFile('./database/migrations/create_tasks.php');
$I->seeFileContentsEqual('<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
2015-10-07 19:49:26 +03:00
class CreateTasksTable extends Migration
2015-09-26 04:43:35 +03:00
{
2016-12-29 18:35:34 +03:00
2015-09-26 04:43:35 +03:00
public function up()
{
Schema::create(\'tasks\', function(Blueprint $table) {
$table->increments(\'id\');
2015-09-27 00:43:06 +03:00
$table->decimal(\'amount\', 5, 2)->after(\'size\')->default(8);
$table->string(\'title\')->nullable();
// Constraints declaration
2015-09-26 04:43:35 +03:00
$table->timestamps();
});
}
public function down()
{
Schema::drop(\'tasks\');
}
}
');
2015-09-27 00:43:06 +03:00
$I->deleteFile('./database/migrations/create_tasks.php');
$I->wantTo('generate a migration with schema and foreign keys');
$I->runShellCommand('php artisan wn:migration tasks --file=create_tasks --keys="category_type_id user_id:identifier:members:cascade" --schema="amount:decimal.5,2:after.\'size\':default.8 title:string:nullable"');
$I->seeInShellOutput('tasks migration generated');
$I->seeFileFound('./database/migrations/create_tasks.php');
$I->openFile('./database/migrations/create_tasks.php');
$I->seeInThisFile(
"\$table->foreign('category_type_id')\n".
" ->references('id')\n".
" ->on('category_types');"
);
$I->seeInThisFile(
"\$table->foreign('user_id')\n".
" ->references('identifier')\n".
" ->on('members')". PHP_EOL .
" ->onDelete('cascade');");
$I->deleteFile('./database/migrations/create_tasks.php');
$I->wantTo('generate a migration with additional columns');
$I->runShellCommand('php artisan wn:migration tasks --file=create_tasks --add=softDeletes,nullableTimestamps');
$I->seeInShellOutput('tasks migration generated');
$I->seeFileFound('./database/migrations/create_tasks.php');
$I->openFile('./database/migrations/create_tasks.php');
$I->dontSeeInThisFile("\$table->timestamps();");
$I->seeInThisFile("\$table->softDeletes();");
$I->seeInThisFile("\$table->nullableTimestamps();");
$I->deleteFile('./database/migrations/create_tasks.php');