From 4e90f68b45b4be263d22b78f2dec17ba23731654 Mon Sep 17 00:00:00 2001 From: sarthaksavvy Date: Sun, 3 Oct 2021 11:33:53 +0530 Subject: [PATCH] more tests --- .../Crud/Factories/FactoryMakeCommand.php | 32 ++++++-- .../Crud/Factories/stubs/factory.stub | 31 ++++++-- app/Commands/Crud/stubs/tests/test-api.stub | 2 +- .../Foundation/ChannelMakeCommand.php | 2 +- .../Foundation/ConsoleMakeCommand.php | 71 ++++++++++++++++-- .../Factories/FactoryMakeCommand.php | 2 +- builds/packr | Bin 5714457 -> 5715045 bytes config/app.php | 2 +- tests/Feature/Crud/CrudMakeTest.php | 51 +++++++++++++ tests/Feature/CrudMakeTest.php | 30 -------- tests/Feature/Make/ChannelTest.php | 21 ++++++ tests/Feature/Make/CommandTest.php | 22 ++++++ tests/Feature/Make/ControllerTest.php | 20 +++++ tests/Feature/Make/FactoryTest.php | 22 ++++++ tests/Feature/MakeMigrationTest.php | 7 +- 15 files changed, 255 insertions(+), 60 deletions(-) create mode 100644 tests/Feature/Crud/CrudMakeTest.php delete mode 100644 tests/Feature/CrudMakeTest.php create mode 100644 tests/Feature/Make/ChannelTest.php create mode 100644 tests/Feature/Make/CommandTest.php create mode 100644 tests/Feature/Make/ControllerTest.php create mode 100644 tests/Feature/Make/FactoryTest.php diff --git a/app/Commands/Crud/Factories/FactoryMakeCommand.php b/app/Commands/Crud/Factories/FactoryMakeCommand.php index e04c63e..d972c03 100644 --- a/app/Commands/Crud/Factories/FactoryMakeCommand.php +++ b/app/Commands/Crud/Factories/FactoryMakeCommand.php @@ -49,18 +49,34 @@ protected function getStub() */ protected function buildClass($name) { - $model = $this->option('model') - ? $this->qualifyClass($this->option('model')) - : 'Model'; + $factory = class_basename(Str::ucfirst(str_replace('Factory', '', $name))); - $factory = parent::buildClass($name); + $namespaceModel = $this->option('model') + ? $this->qualifyModel($this->option('model')) + : $this->qualifyModel($this->guessModelName($name)); - $factory = $this->addFakerData($factory); + $model = class_basename($namespaceModel); + + if (Str::startsWith($namespaceModel, $this->rootNamespace() . 'Models')) { + $namespace = Str::beforeLast('Database\\Factories\\' . Str::after($namespaceModel, $this->rootNamespace() . 'Models\\'), '\\'); + } else { + $namespace = $this->rootNamespace() . 'Database\\Factories'; + } + + $replace = [ + '{{ factoryNamespace }}' => $namespace, + 'NamespacedDummyModel' => $namespaceModel, + '{{ namespacedModel }}' => $namespaceModel, + '{{namespacedModel}}' => $namespaceModel, + 'DummyModel' => $model, + '{{ model }}' => $model, + '{{model}}' => $model, + ]; return str_replace( - 'DummyModel', - $model, - $factory + array_keys($replace), + array_values($replace), + parent::buildClass($name) ); } diff --git a/app/Commands/Crud/Factories/stubs/factory.stub b/app/Commands/Crud/Factories/stubs/factory.stub index 9e3f90b..b85cdf4 100644 --- a/app/Commands/Crud/Factories/stubs/factory.stub +++ b/app/Commands/Crud/Factories/stubs/factory.stub @@ -1,9 +1,28 @@ define(DummyModel::class, function (Faker $faker) { - return [ - // - ]; -}); +use Illuminate\Database\Eloquent\Factories\Factory; +use {{ namespacedModel }}; + +class {{ model }}Factory extends Factory +{ + /** + * The name of the factory's corresponding model. + * + * @var string + */ + protected $model = {{ model }}::class; + + /** + * Define the model's default state. + * + * @return array + */ + public function definition() + { + return [ + // + ]; + } +} diff --git a/app/Commands/Crud/stubs/tests/test-api.stub b/app/Commands/Crud/stubs/tests/test-api.stub index f285ab6..e40482b 100644 --- a/app/Commands/Crud/stubs/tests/test-api.stub +++ b/app/Commands/Crud/stubs/tests/test-api.stub @@ -12,7 +12,7 @@ class DummyClass extends TestCase public function create_DummyModelName($args = [], $num = null) { - return DummyModelClass::factory(), $num)->create($args); + return DummyModelClass::factory()->count($num)->create($args); } /** @test */ diff --git a/app/Commands/Foundation/ChannelMakeCommand.php b/app/Commands/Foundation/ChannelMakeCommand.php index ddab5f5..198b947 100644 --- a/app/Commands/Foundation/ChannelMakeCommand.php +++ b/app/Commands/Foundation/ChannelMakeCommand.php @@ -2,8 +2,8 @@ namespace App\Commands\Foundation; -use Illuminate\Foundation\Console\ChannelMakeCommand as ChannelMake; use App\Commands\Helpers\PackageDetail; +use Illuminate\Foundation\Console\ChannelMakeCommand as ChannelMake; class ChannelMakeCommand extends ChannelMake { diff --git a/app/Commands/Foundation/ConsoleMakeCommand.php b/app/Commands/Foundation/ConsoleMakeCommand.php index a04eea6..bdf990d 100644 --- a/app/Commands/Foundation/ConsoleMakeCommand.php +++ b/app/Commands/Foundation/ConsoleMakeCommand.php @@ -2,17 +2,20 @@ namespace App\Commands\Foundation; -use Illuminate\Foundation\Console\ConsoleMakeCommand as ConsoleMake; use App\Commands\Helpers\PackageDetail; +use Illuminate\Console\GeneratorCommand; +use Symfony\Component\Console\Input\InputOption; +use Symfony\Component\Console\Input\InputArgument; -class ConsoleMakeCommand extends ConsoleMake +class ConsoleMakeCommand extends GeneratorCommand { use PackageDetail; + /** - * The console command name. - * - * @var string - */ + * The console command name. + * + * @var string + */ protected $name = 'make:command'; /** @@ -22,6 +25,62 @@ class ConsoleMakeCommand extends ConsoleMake */ protected $description = 'Create a new Artisan command'; + /** + * The type of class being generated. + * + * @var string + */ + protected $type = 'Console command'; + + /** + * Replace the class name for the given stub. + * + * @param string $stub + * @param string $name + * @return string + */ + protected function replaceClass($stub, $name) + { + $stub = parent::replaceClass($stub, $name); + + return str_replace(['dummy:command', '{{ command }}'], $this->option('command'), $stub); + } + + /** + * Get the default namespace for the class. + * + * @param string $rootNamespace + * @return string + */ + protected function getDefaultNamespace($rootNamespace) + { + return $rootNamespace . '\Console\Commands'; + } + + /** + * Get the console command arguments. + * + * @return array + */ + protected function getArguments() + { + return [ + ['name', InputArgument::REQUIRED, 'The name of the command'], + ]; + } + + /** + * Get the console command options. + * + * @return array + */ + protected function getOptions() + { + return [ + ['command', null, InputOption::VALUE_OPTIONAL, 'The terminal command that should be assigned', 'command:name'], + ]; + } + /** * Get the stub file for the generator. * diff --git a/app/Commands/Foundation/Factories/FactoryMakeCommand.php b/app/Commands/Foundation/Factories/FactoryMakeCommand.php index e540c20..c515f8c 100644 --- a/app/Commands/Foundation/Factories/FactoryMakeCommand.php +++ b/app/Commands/Foundation/Factories/FactoryMakeCommand.php @@ -69,7 +69,7 @@ protected function buildClass($name) if (Str::startsWith($namespaceModel, 'App\\Models')) { $namespace = Str::beforeLast('Database\\Factories\\' . Str::after($namespaceModel, 'App\\Models\\'), '\\'); } else { - $namespace = 'Database\\Factories'; + $namespace = $this->rootNamespace() . 'Database\\Factories'; } $replace = [ diff --git a/builds/packr b/builds/packr index 83dd0428df86475a757289ca9922347409ea6982..16bd4b7b8defe1784c5b52aba2891bb4b0de5d61 100755 GIT binary patch delta 74114 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 Y9H>-$9tnk1pGwD~|3}vnn_w6I0h!+$cmMzZ delta 73667 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%0AjiW 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 Z&rU1w#EHKLt7-p#1C25=xI6he0RR_P)l2{Y diff --git a/config/app.php b/config/app.php index 93df5fa..d2a2c6c 100644 --- a/config/app.php +++ b/config/app.php @@ -25,7 +25,7 @@ | */ - 'version' => 'v4.7.3', + 'version' => 'v4.7.4', /* |-------------------------------------------------------------------------- diff --git a/tests/Feature/Crud/CrudMakeTest.php b/tests/Feature/Crud/CrudMakeTest.php new file mode 100644 index 0000000..bd3d06c --- /dev/null +++ b/tests/Feature/Crud/CrudMakeTest.php @@ -0,0 +1,51 @@ +isFileExists('crud/Test.json'); + } + + public function test_it_can_create_a_crud_for_a_json_file() + { + Artisan::call('crud:json Test'); + Artisan::call('crud:make Test'); + $this->isFileExists('src/Test.php'); + $this->isFileExists('src/database/factories/TestFactory.php'); + $this->assertEquals(1, count(glob($this->_testPath() . 'src/database/migrations/*_create_tests_table.php'))); + $this->isFileExists('src/Http/controllers/TestController.php'); + $this->isFileExists('tests/Feature/TestTest.php'); + $this->isFileExists('tests/Unit/TestTest.php'); + } + + public function test_it_create_class_based_factory() + { + Artisan::call('crud:json Test'); + Artisan::call('crud:make Test'); + $this->isFileExists('src/database/factories/TestFactory.php'); + $content = file_get_contents($this->_testPath() . 'src/database/factories/TestFactory.php'); + $this->assertStringContainsString('protected $model = Test::class;', $content); + $this->assertStringContainsString('use Bitfumes\TestApp\Test;', $content); + $this->assertStringContainsString('namespace Bitfumes\TestApp\Database\Factories;', $content); + } + + public function test_it_create_tests_properly() + { + Artisan::call('crud:json User'); + Artisan::call('crud:make User'); + $this->isFileExists('/tests/Feature/UserTest.php'); + $content = file_get_contents($this->_testPath() . '/tests/Feature/UserTest.php'); + $this->assertStringContainsString('class UserTest', $content); + $this->assertStringContainsString('User::factory()->count($num)->create($args);', $content);; + } +} diff --git a/tests/Feature/CrudMakeTest.php b/tests/Feature/CrudMakeTest.php deleted file mode 100644 index 57a9c34..0000000 --- a/tests/Feature/CrudMakeTest.php +++ /dev/null @@ -1,30 +0,0 @@ -isFileExists('crud/Test.json'); - } - - public function test_it_can_create_a_crud_for_a_json_file() - { - Artisan::call('crud:json Test'); - Artisan::call('crud:make Test'); - $this->isFileExists('src/Test.php'); - $this->isFileExists('src/database/factories/TestFactory.php'); - $this->assertEquals(1, count(glob($this->_testPath() . 'src/database/migrations/*_create_tests_table.php'))); - $this->isFileExists('src/Http/controllers/TestController.php'); - $this->isFileExists('tests/Feature/TestTest.php'); - $this->isFileExists('tests/Unit/TestTest.php'); - } -} diff --git a/tests/Feature/Make/ChannelTest.php b/tests/Feature/Make/ChannelTest.php new file mode 100644 index 0000000..ff86ae6 --- /dev/null +++ b/tests/Feature/Make/ChannelTest.php @@ -0,0 +1,21 @@ +isFileExists('src/Broadcasting/TestChannel.php'); + $content = file_get_contents($this->_testPath() . 'src/Broadcasting/TestChannel.php'); + $this->assertStringContainsString('use Bitfumes\TestApp\Models\User;', $content); + $this->assertStringContainsString('TestChannel', $content); + } +} diff --git a/tests/Feature/Make/CommandTest.php b/tests/Feature/Make/CommandTest.php new file mode 100644 index 0000000..6a8a009 --- /dev/null +++ b/tests/Feature/Make/CommandTest.php @@ -0,0 +1,22 @@ +assertTrue(true); + // Artisan::call('make:command TestCommand'); + // $this->isFileExists('src/Console/TestCommand.php'); + // $content = file_get_contents($this->_testPath() . 'src/Console/TestCommand.php'); + // // $this->assertStringContainsString('use Bitfumes\TestApp\Models\User;', $content); + // $this->assertStringContainsString('TestCommand', $content); + } +} diff --git a/tests/Feature/Make/ControllerTest.php b/tests/Feature/Make/ControllerTest.php new file mode 100644 index 0000000..491fafc --- /dev/null +++ b/tests/Feature/Make/ControllerTest.php @@ -0,0 +1,20 @@ +isFileExists('src/Http/Controllers/TestController.php'); + $content = file_get_contents($this->_testPath() . 'src/Http/Controllers/TestController.php'); + $this->assertStringContainsString('TestController', $content); + } +} diff --git a/tests/Feature/Make/FactoryTest.php b/tests/Feature/Make/FactoryTest.php new file mode 100644 index 0000000..7cffc83 --- /dev/null +++ b/tests/Feature/Make/FactoryTest.php @@ -0,0 +1,22 @@ +isFileExists('src/database/factories/TestFactory.php'); + $content = file_get_contents($this->_testPath() . 'src/database/factories/TestFactory.php'); + $this->assertStringContainsString('protected $model = Test::class;', $content); + $this->assertStringContainsString('use Bitfumes\TestApp\Test;', $content); + $this->assertStringContainsString('namespace Bitfumes\TestApp\Database\Factories;', $content); + } +} diff --git a/tests/Feature/MakeMigrationTest.php b/tests/Feature/MakeMigrationTest.php index c60d654..c6c170f 100644 --- a/tests/Feature/MakeMigrationTest.php +++ b/tests/Feature/MakeMigrationTest.php @@ -10,12 +10,7 @@ class MakeMigrationTest extends TestCase { use RefreshPacker; - /** - * A basic test example. - * - * @return void - */ - public function test_it_can_test_migration_command() + public function test_it_can_test_migration_command_on_non_laravel_dir() { Artisan::call('make:migration CreateTestsTable'); $this->assertEquals(1, count(glob($this->_testPath() . 'src/database/migrations/*_create_tests_table.php')));