workbench, tests

This commit is contained in:
icefox 2026-02-23 21:09:02 -03:00
parent d83a324eb0
commit 367858c97c
No known key found for this signature in database
27 changed files with 568 additions and 410 deletions

View file

@ -15,7 +15,7 @@ use Tests\Rules\WithOverwriteRules;
describe('rules array shape', function () {
it('returns inferred rules shape from RuleFactory::infer (inferred only)', function () {
$parameters = ReflectionHelper::getParametersMeta(WithMergedRules::class);
$rules = RuleFactory::infer($parameters, '', '');
$rules = RuleFactory::infer($parameters, '');
expect($rules)->toBe([
'value' => ['required', 'numeric'],
@ -24,7 +24,7 @@ describe('rules array shape', function () {
it('returns inferred rules shape regardless of OverwriteRules attribute', function () {
$parameters = ReflectionHelper::getParametersMeta(WithOverwriteRules::class);
$rules = RuleFactory::infer($parameters, '', '');
$rules = RuleFactory::infer($parameters, '');
expect($rules)->toBe([
'value' => ['required', 'numeric'],
@ -93,30 +93,8 @@ describe('rules overwrite', function () {
});
it('does not enforce inferred required rule when overwritten', function () {
$object = WithOverwriteRules::fromArray([]);
expect($object)->toBeInstanceOf(WithOverwriteRules::class);
});
it('does not enforce inferred numeric rule when overwritten', function () {
$rules = WithOverwriteRules::rules();
expect($rules)->toHaveKey('value');
expect($rules['value'])->toBe(['numeric', 'max:20']);
});
});
describe('empty rules overwrite', function () {
it('allows any value when rules are empty with OverwriteRules', function () {
$object = WithEmptyOverwriteRules::fromArray([
'value' => 999,
]);
expect($object->value)->toBe(999);
});
it('allows missing value when rules are empty with OverwriteRules', function () {
$object = WithEmptyOverwriteRules::fromArray([]);
expect($object)->toBeInstanceOf(WithEmptyOverwriteRules::class);
});
});