Skip to content

Commit 5f6dd5c

Browse files
authored
Merge pull request #126 from RonasIT/125-change-resources-generation-logic
#125: Use model test states in tests generator
2 parents 100fe1d + 90fa94b commit 5f6dd5c

File tree

8 files changed

+23
-22
lines changed

8 files changed

+23
-22
lines changed

src/Generators/ControllerGenerator.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ public function generate(): void
1717
"Cannot create {$this->model}Controller cause {$this->model}Controller already exists.",
1818
"Remove {$this->model}Controller.",
1919
);
20-
2120
}
2221

2322
if (!$this->classExists('services', "{$this->model}Service")) {
@@ -45,7 +44,7 @@ protected function getControllerContent($model): string
4544
{
4645
return $this->getStub('controller', [
4746
'entity' => $model,
48-
'requestsFolder' => $this->getPluralName($model),
47+
'requestsFolder' => $model,
4948
'namespace' => $this->getOrCreateNamespace('controllers'),
5049
'requestsNamespace' => $this->getOrCreateNamespace('requests'),
5150
'resourcesNamespace' => $this->getOrCreateNamespace('resources'),

src/Generators/RequestsGenerator.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public function generate(): void
6767

6868
protected function createRequest($method, $needToValidate = true, $parameters = []): void
6969
{
70-
$requestsFolder = $this->getPluralName($this->model);
70+
$requestsFolder = $this->model;
7171
$modelName = $this->getEntityName($method);
7272

7373
$content = $this->getStub('request', [

src/Generators/ResourceGenerator.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public function generateCollectionResource(): void
3636
'namespace' => $this->getOrCreateNamespace('resources')
3737
]);
3838

39-
$this->saveClass('resources', "{$pluralName}CollectionResource", $collectionResourceContent);
39+
$this->saveClass('resources', "{$pluralName}CollectionResource", $collectionResourceContent, $this->model);
4040

4141
event(new SuccessCreateMessage("Created a new CollectionResource: {$pluralName}CollectionResource"));
4242
}
@@ -57,8 +57,8 @@ public function generateResource(): void
5757
'model_namespace' => $this->getOrCreateNamespace('models'),
5858
]);
5959

60-
$this->saveClass('resources', "{$this->model}Resource", $resourceContent);
60+
$this->saveClass('resources', "{$this->model}Resource", $resourceContent, $this->model);
6161

6262
event(new SuccessCreateMessage("Created a new Resource: {$this->model}Resource"));
6363
}
64-
}
64+
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
namespace {{$namespace}};
1+
namespace {{$namespace}}{{$singular_name}};
22

33
use Illuminate\Http\Resources\Json\ResourceCollection;
44

55
class {{$plural_name}}CollectionResource extends ResourceCollection
66
{
77
public $collects = {{$singular_name}}Resource::class;
8-
}
8+
}

stubs/controller.blade.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
namespace {{$namespace}};
22

33
@inject('str', 'Illuminate\Support\Str')
4-
use {{$resourcesNamespace}}\{{$str::plural($entity)}}CollectionResource;
4+
use {{$resourcesNamespace}}\{{$entity}}\{{$str::plural($entity)}}CollectionResource;
55
@if (in_array('C', $options))
66
use {{$requestsNamespace}}\{{$requestsFolder}}\Create{{$entity}}Request;
77
@endif
@@ -15,7 +15,7 @@
1515
@if (in_array('U', $options))
1616
use {{$requestsNamespace}}\{{$requestsFolder}}\Update{{$entity}}Request;
1717
@endif
18-
use {{$resourcesNamespace}}\{{$entity}}Resource;
18+
use {{$resourcesNamespace}}\{{$entity}}\{{$entity}}Resource;
1919
use {{$servicesNamespace}}\{{$entity}}Service;
2020
@if (in_array('D', $options) || in_array('U', $options))
2121
use Symfony\Component\HttpFoundation\Response;
@@ -70,4 +70,4 @@ public function delete(Delete{{$entity}}Request $request, {{$entity}}Service $se
7070
return response('', Response::HTTP_NO_CONTENT);
7171
}
7272
@endif
73-
}
73+
}

stubs/resource.blade.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace {{$namespace}};
1+
namespace {{$namespace}}\{{$entity}};
22

33
use Illuminate\Http\Resources\Json\JsonResource;
44
use {{$model_namespace}}\{{$entity}};
@@ -8,9 +8,11 @@
88
*/
99
class {{$entity}}Resource extends JsonResource
1010
{
11+
public static $wrap = null;
12+
1113
//TODO implement custom serialization logic or remove method redefining
1214
public function toArray($request): array
1315
{
1416
return parent::toArray($request);
1517
}
16-
}
18+
}

stubs/test.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ public static function getSearchFilters(): array
197197
#[DataProvider('getSearchFilters')]
198198
public function testSearch(array $filter, string $fixture)
199199
{
200-
$response = $this->json('get', '/{{$entities}}', $filter);
200+
$response = $this->actingAs(self::$user)->json('get', '/{{$entities}}', $filter);
201201

202202
$response->assertOk();
203203

tests/fixtures/ControllerGeneratorTest/created_controller.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
namespace App\Http\Controllers;
44

5-
use App\Http\Resources\PostsCollectionResource;
6-
use App\Http\Requests\Posts\CreatePostRequest;
7-
use App\Http\Requests\Posts\DeletePostRequest;
8-
use App\Http\Requests\Posts\GetPostRequest;
9-
use App\Http\Requests\Posts\SearchPostsRequest;
10-
use App\Http\Requests\Posts\UpdatePostRequest;
11-
use App\Http\Resources\PostResource;
5+
use App\Http\Resources\Post\PostsCollectionResource;
6+
use App\Http\Requests\Post\CreatePostRequest;
7+
use App\Http\Requests\Post\DeletePostRequest;
8+
use App\Http\Requests\Post\GetPostRequest;
9+
use App\Http\Requests\Post\SearchPostsRequest;
10+
use App\Http\Requests\Post\UpdatePostRequest;
11+
use App\Http\Resources\Post\PostResource;
1212
use App\Services\PostService;
1313
use Symfony\Component\HttpFoundation\Response;
1414

@@ -53,4 +53,4 @@ public function delete(DeletePostRequest $request, PostService $service, $id): R
5353

5454
return response('', Response::HTTP_NO_CONTENT);
5555
}
56-
}
56+
}

0 commit comments

Comments
 (0)