Skip to content

Commit 79baddf

Browse files
committed
refactor: set resource name in dump/fixtures
1 parent 145c4d5 commit 79baddf

File tree

5 files changed

+36
-29
lines changed

5 files changed

+36
-29
lines changed

src/Generators/AbstractTestsGenerator.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ abstract class AbstractTestsGenerator extends EntityGenerator
1313
protected array $fakerProperties = [];
1414
protected array $getFields = [];
1515
protected bool $withAuth = false;
16+
protected string $entity;
1617

1718
const array FIXTURE_TYPES = [
1819
'create' => ['request', 'response'],
@@ -186,7 +187,6 @@ protected function getMockModel($model): array
186187
protected function generateFixtures(): void
187188
{
188189
$object = $this->getFixtureValuesList($this->model);
189-
$entity = Str::snake($this->model);
190190

191191
$this->createFixtureFolder();
192192

@@ -195,7 +195,7 @@ protected function generateFixtures(): void
195195
foreach ($modifications as $modification) {
196196
$excepts = ($modification === 'request') ? ['id'] : [];
197197

198-
$this->generateFixture("{$type}_{$entity}_{$modification}.json", Arr::except($object, $excepts));
198+
$this->generateFixture("{$type}_" . Str::snake($this->entity) . "_{$modification}.json", Arr::except($object, $excepts));
199199
}
200200
}
201201
}

src/Generators/NovaTestGenerator.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ public function generate(): void
5151

5252
$this->novaResourceClassName = Arr::first($novaResources);
5353

54+
$this->entity = Str::afterLast($this->novaResourceClassName, '\\');
55+
5456
parent::generate();
5557
} else {
5658
event(new SuccessCreateMessage("Nova is not installed and NovaTest is skipped"));
@@ -66,14 +68,12 @@ public function generateTests(): void
6668
$actions = $this->getActions();
6769
$filters = $this->collectFilters();
6870

69-
$resourceClass = Str::afterLast($this->novaResourceClassName, '\\');
70-
7171
$fileContent = $this->getStub('nova_test', [
7272
'entity_namespace' => $this->getNamespace('models', $this->modelSubFolder),
7373
'entity' => $this->model,
74-
'resource_name' => $resourceClass,
74+
'resource_name' => $this->entity,
7575
'resource_namespace' => $this->novaResourceClassName,
76-
'snake_resource' => Str::snake($resourceClass),
76+
'snake_resource' => Str::snake($this->entity),
7777
'dromedary_entity' => Str::lcfirst($this->model),
7878
'lower_entities' => $this->getPluralName(Str::snake($this->model)),
7979
'actions' => $actions,
@@ -160,7 +160,7 @@ protected function loadNovaFilters()
160160

161161
public function getTestClassName(): string
162162
{
163-
return "Nova{$this->model}Test";
163+
return "Nova{$this->entity}Test";
164164
}
165165

166166
protected function isFixtureNeeded($type): bool
@@ -218,8 +218,8 @@ protected function getFilters(): array
218218

219219
protected function getDumpName(): string
220220
{
221-
$modelName = Str::snake($this->model);
221+
$entityName = Str::snake($this->entity);
222222

223-
return "nova_{$modelName}_dump.sql";
223+
return "nova_{$entityName}_dump.sql";
224224
}
225225
}

src/Generators/TestsGenerator.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@
66

77
class TestsGenerator extends AbstractTestsGenerator
88
{
9+
public function generate(): void
10+
{
11+
$this->entity = $this->model;
12+
13+
parent::generate();
14+
}
15+
916
public function getTestClassName(): string
1017
{
1118
return "{$this->model}Test";

tests/CommandTest.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,10 @@ public function testCallCommand()
9191
$this->assertGeneratedFileEquals('validation.php', 'lang/en/validation.php');
9292
$this->assertGeneratedFileEquals('nova_resource.php', 'app/Nova/PostResource.php');
9393
$this->assertGeneratedFileEquals('nova_test.php', 'tests/NovaPostResourceTest.php');
94-
$this->assertGeneratedFileEquals('nova_dump.php', 'tests/fixtures/NovaPostTest/nova_post_dump.sql');
95-
$this->assertGeneratedFileEquals('create_request.json', 'tests/fixtures/NovaPostTest/create_post_request.json');
96-
$this->assertGeneratedFileEquals('create_response.json', 'tests/fixtures/NovaPostTest/create_post_response.json');
97-
$this->assertGeneratedFileEquals('update_request.json', 'tests/fixtures/NovaPostTest/update_post_request.json');
94+
$this->assertGeneratedFileEquals('nova_dump.php', 'tests/fixtures/NovaPostResourceTest/nova_post_resource_dump.sql');
95+
$this->assertGeneratedFileEquals('create_request.json', 'tests/fixtures/NovaPostResourceTest/create_post_resource_request.json');
96+
$this->assertGeneratedFileEquals('create_response.json', 'tests/fixtures/NovaPostResourceTest/create_post_resource_response.json');
97+
$this->assertGeneratedFileEquals('update_request.json', 'tests/fixtures/NovaPostResourceTest/update_post_resource_request.json');
9898
}
9999

100100
public function testCallCommandSubFoldersModel()
@@ -137,10 +137,10 @@ public function testCallCommandSubFoldersModel()
137137
$this->assertGeneratedFileEquals('create_response.json', 'tests/fixtures/PostTest/create_post_response.json');
138138
$this->assertGeneratedFileEquals('update_request.json', 'tests/fixtures/PostTest/update_post_request.json');
139139
$this->assertGeneratedFileEquals('validation.php', 'lang/en/validation.php');
140-
$this->assertGeneratedFileEquals('nova_dump.php', 'tests/fixtures/NovaPostTest/nova_post_dump.sql');
141-
$this->assertGeneratedFileEquals('create_request.json', 'tests/fixtures/NovaPostTest/create_post_request.json');
142-
$this->assertGeneratedFileEquals('create_response.json', 'tests/fixtures/NovaPostTest/create_post_response.json');
143-
$this->assertGeneratedFileEquals('update_request.json', 'tests/fixtures/NovaPostTest/update_post_request.json');
140+
$this->assertGeneratedFileEquals('nova_dump.php', 'tests/fixtures/NovaPostResourceTest/nova_post_resource_dump.sql');
141+
$this->assertGeneratedFileEquals('create_request.json', 'tests/fixtures/NovaPostResourceTest/create_post_resource_request.json');
142+
$this->assertGeneratedFileEquals('create_response.json', 'tests/fixtures/NovaPostResourceTest/create_post_resource_response.json');
143+
$this->assertGeneratedFileEquals('update_request.json', 'tests/fixtures/NovaPostResourceTest/update_post_resource_request.json');
144144
}
145145

146146
public function testMakeOnly()

tests/NovaTestGeneratorTest.php

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,10 @@ public function testNovaTestStubNotExist()
107107
->generate();
108108

109109
$this->assertFileDoesNotExist('tests/NovaWelcomeBonusTest.php');
110-
$this->assertGeneratedFileEquals('dump.sql', 'tests/fixtures/NovaWelcomeBonusTest/nova_welcome_bonus_dump.sql');
111-
$this->assertGeneratedFileEquals('create_welcome_bonus_request.json', 'tests/fixtures/NovaWelcomeBonusTest/create_welcome_bonus_request.json');
112-
$this->assertGeneratedFileEquals('create_welcome_bonus_response.json', 'tests/fixtures/NovaWelcomeBonusTest/create_welcome_bonus_response.json');
113-
$this->assertGeneratedFileEquals('update_welcome_bonus_request.json', 'tests/fixtures/NovaWelcomeBonusTest/update_welcome_bonus_request.json');
110+
$this->assertGeneratedFileEquals('dump.sql', 'tests/fixtures/NovaWelcomeBonusResourceTest/nova_welcome_bonus_resource_dump.sql');
111+
$this->assertGeneratedFileEquals('create_welcome_bonus_request.json', 'tests/fixtures/NovaWelcomeBonusResourceTest/create_welcome_bonus_resource_request.json');
112+
$this->assertGeneratedFileEquals('create_welcome_bonus_response.json', 'tests/fixtures/NovaWelcomeBonusResourceTest/create_welcome_bonus_resource_response.json');
113+
$this->assertGeneratedFileEquals('update_welcome_bonus_request.json', 'tests/fixtures/NovaWelcomeBonusResourceTest/update_welcome_bonus_resource_request.json');
114114

115115
$this->assertEventPushed(
116116
className: WarningEvent::class,
@@ -140,10 +140,10 @@ public function testDumpStubNotExist()
140140
->generate();
141141

142142
$this->assertGeneratedFileEquals('created_resource_test.php', 'tests/NovaWelcomeBonusResourceTest.php');
143-
$this->assertFileDoesNotExist('tests/fixtures/NovaWelcomeBonusTest/nova_welcome_bonus_dump.sql');
144-
$this->assertGeneratedFileEquals('create_welcome_bonus_request.json', 'tests/fixtures/NovaWelcomeBonusTest/create_welcome_bonus_request.json');
145-
$this->assertGeneratedFileEquals('create_welcome_bonus_response.json', 'tests/fixtures/NovaWelcomeBonusTest/create_welcome_bonus_response.json');
146-
$this->assertGeneratedFileEquals('update_welcome_bonus_request.json', 'tests/fixtures/NovaWelcomeBonusTest/update_welcome_bonus_request.json');
143+
$this->assertFileDoesNotExist('tests/fixtures/NovaWelcomeBonusResourceTest/nova_welcome_bonus_resource_dump.sql');
144+
$this->assertGeneratedFileEquals('create_welcome_bonus_request.json', 'tests/fixtures/NovaWelcomeBonusResourceTest/create_welcome_bonus_resource_request.json');
145+
$this->assertGeneratedFileEquals('create_welcome_bonus_response.json', 'tests/fixtures/NovaWelcomeBonusResourceTest/create_welcome_bonus_resource_response.json');
146+
$this->assertGeneratedFileEquals('update_welcome_bonus_request.json', 'tests/fixtures/NovaWelcomeBonusResourceTest/update_welcome_bonus_resource_request.json');
147147

148148
$this->assertEventPushed(
149149
className: WarningEvent::class,
@@ -177,10 +177,10 @@ public function testSuccess()
177177
->generate();
178178

179179
$this->assertGeneratedFileEquals('created_resource_test.php', 'tests/NovaWelcomeBonusResourceTest.php');
180-
$this->assertGeneratedFileEquals('dump.sql', 'tests/fixtures/NovaWelcomeBonusTest/nova_welcome_bonus_dump.sql');
181-
$this->assertGeneratedFileEquals('create_welcome_bonus_request.json', 'tests/fixtures/NovaWelcomeBonusTest/create_welcome_bonus_request.json');
182-
$this->assertGeneratedFileEquals('create_welcome_bonus_response.json', 'tests/fixtures/NovaWelcomeBonusTest/create_welcome_bonus_response.json');
183-
$this->assertGeneratedFileEquals('update_welcome_bonus_request.json', 'tests/fixtures/NovaWelcomeBonusTest/update_welcome_bonus_request.json');
180+
$this->assertGeneratedFileEquals('dump.sql', 'tests/fixtures/NovaWelcomeBonusResourceTest/nova_welcome_bonus_resource_dump.sql');
181+
$this->assertGeneratedFileEquals('create_welcome_bonus_request.json', 'tests/fixtures/NovaWelcomeBonusResourceTest/create_welcome_bonus_resource_request.json');
182+
$this->assertGeneratedFileEquals('create_welcome_bonus_response.json', 'tests/fixtures/NovaWelcomeBonusResourceTest/create_welcome_bonus_resource_response.json');
183+
$this->assertGeneratedFileEquals('update_welcome_bonus_request.json', 'tests/fixtures/NovaWelcomeBonusResourceTest/update_welcome_bonus_resource_request.json');
184184
}
185185

186186
public function testGenerateNovaPackageNotInstall()

0 commit comments

Comments
 (0)