ldc-arcadia-api/database/factories/BrandFactory.php
Jérémy Munsch 1842223ddc
refactor(database): improve replicated factories, seeders, and config injection
- AbstractTableFactory delegates connection resolution without hardcoded config keys
- Enforce mandatory connection parameter on Migrator without Infra dependencies
- Inject ArcadiaStorageConfig, AppConfig, and HmacAuthConfig into services, seeders, and health checkers
- Enhance factories and seeders with helper methods (truncate, count, query, new)
- Clean up covers annotations on database seeders integration tests
2026-08-26 17:29:13 +02:00

37 lines
897 B
PHP

<?php
declare(strict_types=1);
namespace Database\Factories;
use Domain\Models\ValueObjects\Brand\BrandName;
use Domain\Services\BrandCodeGenerator;
use Illuminate\Database\Eloquent\Factories\Factory;
use Infra\Database\Models\Brand;
use Ramsey\Uuid\Uuid;
/**
* @extends Factory<Brand>
*/
final class BrandFactory extends Factory
{
protected $model = Brand::class;
/**
* @return array<string, mixed>
*/
#[\Override]
public function definition(): array
{
$name = fake()->company();
$generator = new BrandCodeGenerator();
$code = $generator->generate(new BrandName($name));
return [
'id' => Uuid::uuid7()->toString(),
'name' => $name,
'arcadia_id' => fake()->unique()->numberBetween(1, 999),
'uwil_public_id' => $code->value,
];
}
}