diff --git a/src/RutServiceProvider.php b/src/RutServiceProvider.php index db6c813..30529c9 100644 --- a/src/RutServiceProvider.php +++ b/src/RutServiceProvider.php @@ -176,7 +176,5 @@ public function boot(ConfigContract $config): void if (class_exists(\Livewire\Livewire::class) && $config->get('rut.synthesizer')) { \Livewire\Livewire::propertySynthesizer(Livewire\Synthesizers\RutSynth::class); // @phpstan-ignore-line } - - ValidatesRut::$blacklistDummyRuts = $config->get('rut.blacklist_dummy_ruts', false); } } diff --git a/src/ValidatesRut.php b/src/ValidatesRut.php index 8cc72ca..4ec0295 100644 --- a/src/ValidatesRut.php +++ b/src/ValidatesRut.php @@ -11,6 +11,7 @@ use Illuminate\Support\Facades\DB; use Illuminate\Support\Str; use Illuminate\Validation\Validator; +use function config; /** * @internal @@ -24,7 +25,7 @@ class ValidatesRut * * @const array */ - public const DUMMY_RUTS = [ + public const array DUMMY_RUTS = [ 177777 => true, 233333 => true, 466666 => true, @@ -60,13 +61,6 @@ class ValidatesRut */ protected static array $dummies = self::DUMMY_RUTS; - /** - * Should the validation rules blacklist dummy ruts. - * - * @var bool - */ - public static bool $blacklistDummyRuts = false; - /** * Return a list of Dummy RUTs for development. * @@ -106,7 +100,7 @@ protected static function parseDummies(Enumerable|array $list): array */ protected static function isBlacklisted(Rut $rut): bool { - return static::$blacklistDummyRuts && isset(static::$dummies[$rut->num]); + return config('rut.blacklist_dummy_ruts', false) && isset(static::$dummies[$rut->num]); } /** diff --git a/tests/Validation/ValidateRuleNumExistsTest.php b/tests/Validation/ValidateRuleNumExistsTest.php index 3cef016..535bdf4 100644 --- a/tests/Validation/ValidateRuleNumExistsTest.php +++ b/tests/Validation/ValidateRuleNumExistsTest.php @@ -143,6 +143,28 @@ public static function providesDummyRut(): array return ValidatesRut::dummies()->map(Arr::wrap(...))->toArray(); } + #[WithConfig('rut.blacklist_dummy_ruts', false)] + #[DataProvider('providesDummyRut')] + public function test_validation_rule_num_exists_passes_when_not_blacklisted(Rut $dummyRut): void + { + User::make()->forceFill([ + 'id' => 4, + 'name' => 'Jonathan', + 'email' => 'jonathan.doe@email.com', + 'password' => '123456', + 'rut_num' => $dummyRut->num, + 'rut_vd' => $dummyRut->vd, + ])->save(); + + $validator = Validator::make([ + 'rut' => $dummyRut->format(), + ], [ + 'rut' => Rule::numExists('testing.users', 'rut_num'), + ]); + + static::assertFalse($validator->fails()); + } + #[WithConfig('rut.blacklist_dummy_ruts', true)] #[DataProvider('providesDummyRut')] public function test_validation_rule_num_exists_fails_if_blacklisted(Rut $dummyRut): void