Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions src/RutServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
12 changes: 3 additions & 9 deletions src/ValidatesRut.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
use Illuminate\Validation\Validator;
use function config;

/**
* @internal
Expand All @@ -24,7 +25,7 @@ class ValidatesRut
*
* @const array<int,true>
*/
public const DUMMY_RUTS = [
public const array DUMMY_RUTS = [
177777 => true,
233333 => true,
466666 => true,
Expand Down Expand Up @@ -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.
*
Expand Down Expand Up @@ -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]);
}

/**
Expand Down
22 changes: 22 additions & 0 deletions tests/Validation/ValidateRuleNumExistsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading