diff --git a/src/CrudMake.php b/src/CrudMake.php index 1d491e9..5b55b3d 100644 --- a/src/CrudMake.php +++ b/src/CrudMake.php @@ -96,7 +96,7 @@ class CrudMake extends Command public function getModelName($modelName = null) { $modelName = is_null($modelName) ? $this->argument('name') : $modelName; - $model_name = ucfirst($modelName); + $model_name = ucfirst(class_basename($modelName)); $plural_model_name = str_plural($model_name); return $this->modelNames = [ diff --git a/tests/CrudMakeCommandTest.php b/tests/CrudMakeCommandTest.php index 36f3e15..23a9866 100644 --- a/tests/CrudMakeCommandTest.php +++ b/tests/CrudMakeCommandTest.php @@ -40,6 +40,22 @@ class CrudMakeCommandTest extends TestCase } /** @test */ + public function it_set_proper_model_names_property_for_namespaced_model_name_entry() + { + $crudMaker = app(CrudMake::class); + + $this->assertEquals([ + 'full_model_name' => 'App\Category', + 'plural_model_name' => 'Categories', + 'model_name' => 'Category', + 'table_name' => 'categories', + 'lang_name' => 'category', + 'collection_model_var_name' => 'categories', + 'single_model_var_name' => 'category', + ], $crudMaker->getModelName('References/Category')); + } + + /** @test */ public function it_can_generate_simple_crud_files() { $this->artisan('make:crud', ['name' => $this->model_name, '--no-interaction' => true]); diff --git a/tests/TestCase.php b/tests/TestCase.php index c44a156..35b7380 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -17,7 +17,7 @@ abstract class TestCase extends BaseTestCase public function setUp() { parent::setUp(); - $this->model_name = 'PaymentMethod'; + $this->model_name = class_basename('References/Category'); $this->full_model_name = 'App\\'.$this->model_name; $this->plural_model_name = str_plural($this->model_name);