Rename DTO class and variable names

This commit is contained in:
Oliver Davies 2023-12-09 15:31:48 +00:00
parent 537a715d74
commit de990f3836
5 changed files with 36 additions and 36 deletions

View file

@ -19,12 +19,12 @@ final class CreateListOfFilesToGenerate
* @var Config $configurationDataDto, * @var Config $configurationDataDto,
* @var array<string,mixed> $configurationData * @var array<string,mixed> $configurationData
*/ */
[$configurationData, $configurationDataDTO] = $configurationDataAndDto; [$configurationData, $configDto] = $configurationDataAndDto;
/** @var Collection<int, TemplateFile> */ /** @var Collection<int, TemplateFile> */
$filesToGenerate = collect(); $filesToGenerate = collect();
switch (strtolower($configurationDataDTO->type)) { switch (strtolower($configDto->type)) {
case (strtolower(ProjectType::Astro->name)): case (strtolower(ProjectType::Astro->name)):
$filesToGenerate = collect([ $filesToGenerate = collect([
new TemplateFile(data: 'astro/.envrc', name: '.envrc'), new TemplateFile(data: 'astro/.envrc', name: '.envrc'),
@ -41,14 +41,14 @@ final class CreateListOfFilesToGenerate
new TemplateFile(data: 'fractal/run', name: 'run'), new TemplateFile(data: 'fractal/run', name: 'run'),
]); ]);
if ($configurationDataDTO->isDocker) { if ($configDto->isDocker) {
$filesToGenerate->push(new TemplateFile(data: 'fractal/.env.example', name: '.env.example')); $filesToGenerate->push(new TemplateFile(data: 'fractal/.env.example', name: '.env.example'));
$filesToGenerate->push(new TemplateFile(data: 'fractal/.dockerignore', name: '.dockerignore')); $filesToGenerate->push(new TemplateFile(data: 'fractal/.dockerignore', name: '.dockerignore'));
$filesToGenerate->push(new TemplateFile(data: 'fractal/.hadolint.yaml', name: '.hadolint.yaml')); $filesToGenerate->push(new TemplateFile(data: 'fractal/.hadolint.yaml', name: '.hadolint.yaml'));
$filesToGenerate->push(new TemplateFile(data: 'fractal/.yarnrc', name: '.yarnrc')); $filesToGenerate->push(new TemplateFile(data: 'fractal/.yarnrc', name: '.yarnrc'));
$filesToGenerate->push(new TemplateFile(data: 'fractal/Dockerfile', name: 'Dockerfile')); $filesToGenerate->push(new TemplateFile(data: 'fractal/Dockerfile', name: 'Dockerfile'));
$filesToGenerate->push(new TemplateFile(data: 'fractal/docker-compose.yaml', name: 'docker-compose.yaml')); $filesToGenerate->push(new TemplateFile(data: 'fractal/docker-compose.yaml', name: 'docker-compose.yaml'));
} elseif ($configurationDataDTO->isFlake) { } elseif ($configDto->isFlake) {
$filesToGenerate->push(new TemplateFile(data: 'fractal/.envrc', name: '.envrc')); $filesToGenerate->push(new TemplateFile(data: 'fractal/.envrc', name: '.envrc'));
$filesToGenerate->push(new TemplateFile(data: 'fractal/flake.nix', name: 'flake.nix')); $filesToGenerate->push(new TemplateFile(data: 'fractal/flake.nix', name: 'flake.nix'));
} }
@ -82,15 +82,15 @@ final class CreateListOfFilesToGenerate
)); ));
} }
if ($configurationDataDTO->php['phpcs'] !== false) { if (!isset($configDto->php['phpcs']) || $configDto->php['phpcs'] !== false) {
$filesToGenerate->push(new TemplateFile(data: 'drupal/phpcs.xml.dist', name: 'phpcs.xml.dist')); $filesToGenerate->push(new TemplateFile(data: 'drupal/phpcs.xml.dist', name: 'phpcs.xml.dist'));
} }
if ($configurationDataDTO->php['phpstan'] !== false) { if (!isset($configDto->php['phpstan']) || $configDto->php['phpstan'] !== false) {
$filesToGenerate->push(new TemplateFile(data: 'drupal/phpstan.neon.dist', name: 'phpstan.neon.dist')); $filesToGenerate->push(new TemplateFile(data: 'drupal/phpstan.neon.dist', name: 'phpstan.neon.dist'));
} }
if ($configurationDataDTO->php['phpunit'] !== false) { if (!isset($configDto->php['phpunit']) || $configDto->php['phpunit'] !== false) {
$filesToGenerate->push(new TemplateFile(data: 'drupal/phpunit.xml.dist', name: 'phpunit.xml.dist')); $filesToGenerate->push(new TemplateFile(data: 'drupal/phpunit.xml.dist', name: 'phpunit.xml.dist'));
} }
@ -153,7 +153,7 @@ final class CreateListOfFilesToGenerate
); );
} }
return $next([$configurationData, $configurationDataDTO, $filesToGenerate]); return $next([$configurationData, $configDto, $filesToGenerate]);
} }
private static function isCaddy(?string $webServer): bool private static function isCaddy(?string $webServer): bool

View file

@ -4,7 +4,7 @@ declare(strict_types=1);
namespace App\Action; namespace App\Action;
use App\DataTransferObject\Config; use App\DataTransferObject\ConfigDto;
use App\DataTransferObject\TemplateFile; use App\DataTransferObject\TemplateFile;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\Filesystem\Filesystem;
@ -23,7 +23,7 @@ final class GenerateConfigurationFiles
{ {
/** /**
* @var Collection<int,TemplateFile> $filesToGenerate * @var Collection<int,TemplateFile> $filesToGenerate
* @var Config $configurationDataDto, * @var ConfigDto $configurationDataDto,
* @var array<string,mixed> $configurationData * @var array<string,mixed> $configurationData
*/ */
[$configurationData, $configurationDataDto, $filesToGenerate] = $filesToGenerateAndConfigurationData; [$configurationData, $configurationDataDto, $filesToGenerate] = $filesToGenerateAndConfigurationData;

View file

@ -4,7 +4,7 @@ declare(strict_types=1);
namespace App\Action; namespace App\Action;
use App\DataTransferObject\Config; use App\DataTransferObject\ConfigDto;
use Symfony\Component\Serializer\Encoder\JsonEncoder; use Symfony\Component\Serializer\Encoder\JsonEncoder;
use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter; use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter;
use Symfony\Component\Serializer\Normalizer\ObjectNormalizer; use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;
@ -18,7 +18,7 @@ final class ValidateConfigurationData
$normalizer = new ObjectNormalizer(null, new CamelCaseToSnakeCaseNameConverter()); $normalizer = new ObjectNormalizer(null, new CamelCaseToSnakeCaseNameConverter());
$serializer = new Serializer([$normalizer], [new JsonEncoder()]); $serializer = new Serializer([$normalizer], [new JsonEncoder()]);
$configurationDataDto = $serializer->deserialize(json_encode($configurationData), Config::class, 'json'); $configurationDataDto = $serializer->deserialize(json_encode($configurationData), ConfigDto::class, 'json');
$validator = Validation::createValidatorBuilder()->enableAnnotationMapping()->getValidator(); $validator = Validation::createValidatorBuilder()->enableAnnotationMapping()->getValidator();
$violations = $validator->validate($configurationDataDto); $violations = $validator->validate($configurationDataDto);

View file

@ -6,7 +6,7 @@ namespace App\DataTransferObject;
use Symfony\Component\Validator\Constraints as Assert; use Symfony\Component\Validator\Constraints as Assert;
final class Config final class ConfigDto
{ {
#[Assert\Collection( #[Assert\Collection(
allowExtraFields: false, allowExtraFields: false,

View file

@ -2,7 +2,7 @@
namespace App\Tests; namespace App\Tests;
use App\DataTransferObject\Config; use App\DataTransferObject\ConfigDto;
use App\Enum\ProjectType; use App\Enum\ProjectType;
use App\Enum\WebServer; use App\Enum\WebServer;
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
@ -12,13 +12,13 @@ use Symfony\Component\Validator\Validator\ValidatorInterface;
class ConfigurationValidatorTest extends KernelTestCase class ConfigurationValidatorTest extends KernelTestCase
{ {
private Config $configurationDataDTO; private ConfigDto $configurationDataDto;
private ValidatorInterface $validator; private ValidatorInterface $validator;
public function setUp(): void public function setUp(): void
{ {
$this->configurationDataDTO = self::createConfigurationDTO(); $this->configurationDataDto = self::createConfigurationDto();
$this->validator = Validation::createValidatorBuilder() $this->validator = Validation::createValidatorBuilder()
->enableAttributeMapping() ->enableAttributeMapping()
@ -34,13 +34,13 @@ class ConfigurationValidatorTest extends KernelTestCase
?string $expectedMessage, ?string $expectedMessage,
): void ): void
{ {
$this->configurationDataDTO->database = [ $this->configurationDataDto->database = [
'extra_databases' => $extraDatabases, 'extra_databases' => $extraDatabases,
'type' => 'mariadb', 'type' => 'mariadb',
'version' => 10, 'version' => 10,
]; ];
$violations = $this->validator->validate($this->configurationDataDTO); $violations = $this->validator->validate($this->configurationDataDto);
self::assertCount( self::assertCount(
expectedCount: $expectedViolationCount, expectedCount: $expectedViolationCount,
@ -72,10 +72,10 @@ class ConfigurationValidatorTest extends KernelTestCase
self::expectException(NotNormalizableValueException::class); self::expectException(NotNormalizableValueException::class);
} }
$configurationDataDTO = self::createConfigurationDTO(); $configurationDataDto = self::createConfigurationDto();
$configurationDataDTO->name = $projectName; $configurationDataDto->name = $projectName;
$violations = $this->validator->validate($configurationDataDTO); $violations = $this->validator->validate($configurationDataDto);
self::assertCount( self::assertCount(
expectedCount: $expectedViolationCount, expectedCount: $expectedViolationCount,
@ -98,10 +98,10 @@ class ConfigurationValidatorTest extends KernelTestCase
int $expectedViolationCount, int $expectedViolationCount,
?string $expectedMessage, ?string $expectedMessage,
): void { ): void {
$configurationDataDTO = self::createConfigurationDTO(); $configurationDataDto = self::createConfigurationDto();
$configurationDataDTO->language = $language; $configurationDataDto->language = $language;
$violations = $this->validator->validate($configurationDataDTO); $violations = $this->validator->validate($configurationDataDto);
self::assertCount( self::assertCount(
expectedCount: $expectedViolationCount, expectedCount: $expectedViolationCount,
@ -129,10 +129,10 @@ class ConfigurationValidatorTest extends KernelTestCase
int $expectedViolationCount, int $expectedViolationCount,
?string $expectedMessage, ?string $expectedMessage,
): void { ): void {
$configurationDataDTO = self::createConfigurationDTO(); $configurationDataDto = self::createConfigurationDto();
$configurationDataDTO->type = $projectType; $configurationDataDto->type = $projectType;
$violations = $this->validator->validate($configurationDataDTO); $violations = $this->validator->validate($configurationDataDto);
self::assertCount( self::assertCount(
expectedCount: $expectedViolationCount, expectedCount: $expectedViolationCount,
@ -160,10 +160,10 @@ class ConfigurationValidatorTest extends KernelTestCase
int $expectedViolationCount, int $expectedViolationCount,
?string $expectedMessage, ?string $expectedMessage,
): void { ): void {
$configurationDataDTO = self::createConfigurationDTO(); $configurationDataDto = self::createConfigurationDto();
$configurationDataDTO->web['type'] = $webServer; $configurationDataDto->web['type'] = $webServer;
$violations = $this->validator->validate($configurationDataDTO); $violations = $this->validator->validate($configurationDataDto);
self::assertCount( self::assertCount(
expectedCount: $expectedViolationCount, expectedCount: $expectedViolationCount,
@ -233,13 +233,13 @@ class ConfigurationValidatorTest extends KernelTestCase
]; ];
} }
private static function createConfigurationDTO(): Config private static function createConfigurationDto(): ConfigDto
{ {
$configurationDataDTO = new Config(); $configurationDataDto = new ConfigDto();
$configurationDataDTO->language = 'php'; $configurationDataDto->language = 'php';
$configurationDataDTO->name = 'test'; $configurationDataDto->name = 'test';
$configurationDataDTO->type = 'drupal'; $configurationDataDto->type = 'drupal';
return $configurationDataDTO; return $configurationDataDto;
} }
} }