*/ class ErrorFactory extends Factory { protected $model = Error::class; /** * Define the model's default state. * * @return array */ public function definition(): array { $errorTypes = [ ['code' => 'E001', 'description' => 'Vehículo reportado como robado'], ['code' => 'E002', 'description' => 'Número de serie no válido o no coincide'], ['code' => 'E003', 'description' => 'Documentos incompletos o ilegibles'], ['code' => 'E004', 'description' => 'Propietario no coincide con documentos'], ['code' => 'E005', 'description' => 'Placas no corresponden al vehículo'], ['code' => 'E006', 'description' => 'Vehículo presenta adulteración'], ['code' => 'E007', 'description' => 'RFC o CURP inválido'], ['code' => 'E008', 'description' => 'Factura apócrifa o alterada'], ['code' => 'E009', 'description' => 'Vehículo importado sin documentación legal'], ['code' => 'E010', 'description' => 'Error en sistema REPUVE externo'], ]; $error = fake()->randomElement($errorTypes); return [ 'code' => $error['code'] . '-' . fake()->unique()->numberBetween(1000, 9999), 'description' => $error['description'], ]; } /** * State for stolen vehicle error */ public function stolen(): static { return $this->state(fn (array $attributes) => [ 'code' => 'E001-' . fake()->unique()->numberBetween(1000, 9999), 'description' => 'Vehículo reportado como robado', ]); } /** * State for invalid VIN error */ public function invalidVin(): static { return $this->state(fn (array $attributes) => [ 'code' => 'E002-' . fake()->unique()->numberBetween(1000, 9999), 'description' => 'Número de serie no válido o no coincide', ]); } }