Skip to content

Commit 685d4c2

Browse files
committed
refactor: code
refs: #49
1 parent d326fe5 commit 685d4c2

File tree

10 files changed

+32
-83
lines changed

10 files changed

+32
-83
lines changed

tests/CommandTest.php

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
use Carbon\Carbon;
66
use RonasIT\Support\Exceptions\ClassNotExistsException;
7-
use RonasIT\Support\Generators\TestsGenerator;
87
use RonasIT\Support\Tests\Support\Command\CommandMockTrait;
98
use UnexpectedValueException;
109

@@ -35,13 +34,10 @@ className: ClassNotExistsException::class,
3534
public function testCallCommand()
3635
{
3736
config([
37+
'entity-generator.paths.models' => 'RonasIT\Support\Tests\Support\Command\Models',
3838
'entity-generator.paths.factories' => 'RonasIT\Support\Tests\Support\Command\Factories',
3939
]);
4040

41-
// $this->mockClass(TestsGenerator::class, [
42-
// $this->classExistsMethodCall(['factories', 'PostFactory']),
43-
// ]);
44-
4541
Carbon::setTestNow('2016-10-20 11:05:00');
4642

4743
$this->mockFilesystem();
@@ -55,7 +51,7 @@ public function testCallCommand()
5551
$this->assertGeneratedFileEquals('migration.php', 'database/migrations/2016_10_20_110500_posts_create_table.php');
5652
$this->assertGeneratedFileEquals('factory.php', 'RonasIT/Support/Tests/Support/Command/Factories/PostFactory.php');
5753
$this->assertGeneratedFileEquals('seeder.php', 'database/seeders/PostSeeder.php');
58-
$this->assertGeneratedFileEquals('model.php', 'app/Models/Post.php');
54+
$this->assertGeneratedFileEquals('model.php', 'RonasIT/Support/Tests/Support/Command/Models/Post.php');
5955
$this->assertGeneratedFileEquals('repository.php', 'app/Repositories/PostRepository.php');
6056
$this->assertGeneratedFileEquals('service.php', 'app/Services/PostService.php');
6157
$this->assertGeneratedFileEquals('create_request.php', 'app/Http/Requests/Post/CreatePostRequest.php');
@@ -89,7 +85,7 @@ public function testMakeOnly()
8985
->artisan('make:entity Post --methods=CRUD --only-repository')
9086
->assertSuccessful();
9187

92-
$this->assertGeneratedFileEquals('repository.php', 'app/Repositories/PostRepository.php');
88+
$this->assertGeneratedFileEquals('make_only_repository.php', 'app/Repositories/PostRepository.php');
9389
$this->assertFileDoesNotExist('database/migrations/2016_10_20_110500_posts_create_table.php');
9490
$this->assertFileDoesNotExist('database/factories/PostFactory.php');
9591
$this->assertFileDoesNotExist('database/seeders/PostSeeder.php');

tests/Support/Command/CommandMockTrait.php

Lines changed: 5 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,7 @@
44

55
use Illuminate\Database\Connection;
66
use Illuminate\Support\Facades\DB;
7-
use org\bovigo\vfs\vfsStream;
8-
use RonasIT\Support\Generators\NovaResourceGenerator;
97
use RonasIT\Support\Generators\NovaTestGenerator;
10-
use RonasIT\Support\Generators\TestsGenerator;
118
use RonasIT\Support\Tests\Support\Command\Models\Post;
129
use RonasIT\Support\Tests\Support\FileSystemMock;
1310
use RonasIT\Support\Tests\Support\GeneratorMockTrait;
@@ -20,22 +17,12 @@ trait CommandMockTrait
2017

2118
public function mockFilesystemPostModelExists(): void
2219
{
23-
$structure = [
24-
'app' => [
25-
'Http' => [
26-
'Controllers' => [],
27-
],
28-
'Models' => [
29-
'Post.php' => '<?php'
30-
],
31-
'Repositories' => []
32-
],
33-
'config' => [
34-
'entity-generator.php' => ''
35-
],
36-
];
20+
$fileSystemMock = new FileSystemMock;
21+
22+
$fileSystemMock->models = ['Post.php' => $this->mockPhpFileContent()];
23+
$fileSystemMock->config = ['entity-generator.php' => ''];
3724

38-
vfsStream::create($structure);
25+
$fileSystemMock->setStructure();
3926
}
4027

4128
public function mockFilesystem(): void
@@ -51,58 +38,7 @@ public function mockFilesystem(): void
5138

5239
public function mockGenerator(): void
5340
{
54-
$this->mockClass(TestsGenerator::class, [
55-
$this->functionCall(
56-
name: 'getModelClass',
57-
arguments: ['Post'],
58-
result: 'RonasIT\\Support\\Tests\\Support\\Command\\Models\\Post',
59-
),
60-
$this->functionCall(
61-
name: 'getModelClass',
62-
arguments: ['Post'],
63-
result: 'RonasIT\\Support\\Tests\\Support\\Command\\Models\\Post',
64-
),
65-
$this->functionCall(
66-
name: 'getModelClass',
67-
arguments: ['Post'],
68-
result: 'RonasIT\\Support\\Tests\\Support\\Command\\Models\\Post',
69-
),
70-
$this->functionCall(
71-
name: 'getModelClass',
72-
arguments: ['Post'],
73-
result: 'RonasIT\\Support\\Tests\\Support\\Command\\Models\\Post',
74-
),
75-
]);
76-
77-
$this->mockClass(NovaResourceGenerator::class, [
78-
$this->functionCall(
79-
name: 'getModelClass',
80-
arguments: ['Post'],
81-
result: 'RonasIT\\Support\\Tests\\Support\\Command\\Models\\Post',
82-
),
83-
]);
84-
8541
$this->mockClass(NovaTestGenerator::class, [
86-
$this->functionCall(
87-
name: 'getModelClass',
88-
arguments: ['Post'],
89-
result: 'RonasIT\\Support\\Tests\\Support\\Command\\Models\\Post',
90-
),
91-
$this->functionCall(
92-
name: 'getModelClass',
93-
arguments: ['Post'],
94-
result: 'RonasIT\\Support\\Tests\\Support\\Command\\Models\\Post',
95-
),
96-
$this->functionCall(
97-
name: 'getModelClass',
98-
arguments: ['Post'],
99-
result: 'RonasIT\\Support\\Tests\\Support\\Command\\Models\\Post',
100-
),
101-
$this->functionCall(
102-
name: 'getModelClass',
103-
arguments: ['Post'],
104-
result: 'RonasIT\\Support\\Tests\\Support\\Command\\Models\\Post',
105-
),
10642
$this->functionCall(
10743
name: 'loadNovaActions',
10844
result: [],

tests/fixtures/CommandTest/factory.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use Faker\Generator as Faker;
66
use Illuminate\Database\Eloquent\Factories\Factory;
7-
use App\Models\Post;
7+
use RonasIT\Support\Tests\Support\Command\Models\Post;
88

99
class PostFactory extends Factory
1010
{
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php
2+
3+
namespace App\Repositories;
4+
5+
use App\Models\Post;
6+
use RonasIT\Support\Repositories\BaseRepository;
7+
8+
/**
9+
* @property Post $model
10+
*/
11+
class PostRepository extends BaseRepository
12+
{
13+
public function __construct()
14+
{
15+
$this->setModel(Post::class);
16+
}
17+
}

tests/fixtures/CommandTest/model.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace App\Models;
3+
namespace RonasIT\Support\Tests\Support\Command\Models;
44

55
use Illuminate\Database\Eloquent\Model;
66
use RonasIT\Support\Traits\ModelTrait;

tests/fixtures/CommandTest/nova_resource.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace App\Nova;
44

5-
use App\Models\Post;
5+
use RonasIT\Support\Tests\Support\Command\Models\Post;
66
use Illuminate\Http\Request;
77
use Laravel\Nova\Fields\ID;
88
use Laravel\Nova\Fields\Text;

tests/fixtures/CommandTest/repository.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace App\Repositories;
44

5-
use App\Models\Post;
5+
use RonasIT\Support\Tests\Support\Command\Models\Post;
66
use RonasIT\Support\Repositories\BaseRepository;
77

88
/**

tests/fixtures/CommandTest/resource.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
namespace App\Http\Resources\Post;
44

55
use Illuminate\Http\Resources\Json\JsonResource;
6-
use App\Models\Post;
6+
use RonasIT\Support\Tests\Support\Command\Models\Post;
77

88
/**
99
* @property Post $resource

tests/fixtures/CommandTest/seeder.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
namespace Database\Seeders;
44

55
use Illuminate\Database\Seeder;
6-
use App\Models\Post;
6+
use RonasIT\Support\Tests\Support\Command\Models\Post;
77

88
class PostSeeder extends Seeder
99
{

tests/fixtures/CommandTest/test.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
namespace App\Tests;
44

55
use RonasIT\Support\Tests\ModelTestState;
6-
use App\Models\Post;
6+
use RonasIT\Support\Tests\Support\Command\Models\Post;
77
use PHPUnit\Framework\Attributes\DataProvider;
88

99
class PostTest extends TestCase

0 commit comments

Comments
 (0)