Browse Source

Update api route, controller and feature test class

tags/1.1.0
Nafies Luthfi 8 years ago
parent
commit
92c74eddcd
  1. 8
      src/Generators/ControllerGenerator.php
  2. 1
      src/stubs/controller.api.stub
  3. 2
      src/stubs/route-api.stub
  4. 2
      src/stubs/test-feature-api.stub
  5. 1
      tests/Generators/Api/ApiControllerGeneratorTest.php
  6. 4
      tests/Generators/Api/ApiFeatureTestGeneratorTest.php
  7. 4
      tests/Generators/Api/RouteApiGeneratorTest.php

8
src/Generators/ControllerGenerator.php

@ -46,19 +46,19 @@ class ControllerGenerator extends BaseGenerator
$appNamespace = $this->getAppNamespace();
$controllerFileContent = str_replace(
"App\Http\Controllers;",
"{$appNamespace}Http\Controllers;",
"App\Http\Controllers",
"{$appNamespace}Http\Controllers",
$controllerFileContent
);
if (!is_null($parentName = $this->command->option('parent'))) {
$searches = [
"{$appNamespace}Http\Controllers;",
"{$appNamespace}Http\Controllers",
"use {$this->modelNames['full_model_name']};\n",
];
$replacements = [
"{$appNamespace}Http\Controllers\\{$parentName};",
"{$appNamespace}Http\Controllers\\{$parentName}",
"use {$this->modelNames['full_model_name']};\nuse {$appNamespace}Http\Controllers\Controller;\n",
];

1
src/stubs/controller.api.stub

@ -3,6 +3,7 @@
namespace App\Http\Controllers\Api;
use fullMstr;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class MastersController extends Controller

2
src/stubs/route-api.stub

@ -1,2 +1,2 @@
Route::resource('masters', 'MastersController');
Route::middleware('auth:api')->resource('masters', 'Api\MastersController')->names('api.masters');

2
src/stubs/test-feature-api.stub

@ -83,7 +83,7 @@ class ManageMastersTest extends TestCase
$user = $this->createUser();
$singleMstr = factory(Master::class)->create();
$this->deleteJson(route('api.masters.delete', $singleMstr), [
$this->deleteJson(route('api.masters.destroy', $singleMstr), [
'master_id' => $singleMstr->id,
], [
'Authorization' => 'Bearer '.$user->api_token

1
tests/Generators/Api/ApiControllerGeneratorTest.php

@ -17,6 +17,7 @@ class ApiControllerGeneratorTest extends TestCase
namespace App\Http\Controllers\Api;
use {$this->full_model_name};
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class {$this->plural_model_name}Controller extends Controller

4
tests/Generators/Api/ApiFeatureTestGeneratorTest.php

@ -97,7 +97,7 @@ class Manage{$this->plural_model_name}Test extends TestCase
\$user = \$this->createUser();
\${$this->single_model_var_name} = factory({$this->model_name}::class)->create();
\$this->deleteJson(route('api.{$this->table_name}.delete', \${$this->single_model_var_name}), [
\$this->deleteJson(route('api.{$this->table_name}.destroy', \${$this->single_model_var_name}), [
'{$this->lang_name}_id' => \${$this->single_model_var_name}->id,
], [
'Authorization' => 'Bearer '.\$user->api_token
@ -206,7 +206,7 @@ class Manage{$this->plural_model_name}Test extends TestCase
\$user = \$this->createUser();
\${$this->single_model_var_name} = factory({$this->model_name}::class)->create();
\$this->deleteJson(route('api.{$this->table_name}.delete', \${$this->single_model_var_name}), [
\$this->deleteJson(route('api.{$this->table_name}.destroy', \${$this->single_model_var_name}), [
'{$this->lang_name}_id' => \${$this->single_model_var_name}->id,
], [
'Authorization' => 'Bearer '.\$user->api_token

4
tests/Generators/Api/RouteApiGeneratorTest.php

@ -15,7 +15,7 @@ class RouteApiGeneratorTest extends TestCase
$this->assertFileExists($routeApiPath);
$routeApiFileContent = "<?php
Route::resource('{$this->table_name}', '{$this->plural_model_name}Controller');
Route::middleware('auth:api')->resource('{$this->table_name}', 'Api\\{$this->plural_model_name}Controller')->names('api.{$this->table_name}');
";
$this->assertEquals($routeApiFileContent, file_get_contents($routeApiPath));
}
@ -29,7 +29,7 @@ Route::resource('{$this->table_name}', '{$this->plural_model_name}Controller');
$this->assertFileExists($routeApiPath);
$routeApiFileContent = "<?php
Route::resource('{$this->table_name}', 'Projects\\{$this->plural_model_name}Controller');
Route::middleware('auth:api')->resource('{$this->table_name}', 'Api\\Projects\\{$this->plural_model_name}Controller')->names('api.{$this->table_name}');
";
$this->assertEquals($routeApiFileContent, file_get_contents($routeApiPath));
}

Loading…
Cancel
Save