OverwriteRules
This commit is contained in:
parent
3a26a2e0c2
commit
709201547c
8 changed files with 252 additions and 19 deletions
|
|
@ -2,12 +2,10 @@
|
|||
|
||||
namespace Tests;
|
||||
|
||||
use Icefox\DTO\Support\RuleFactory;
|
||||
use Illuminate\Validation\ValidationException;
|
||||
use Tests\Classes\ArrayDataObject;
|
||||
use Tests\Classes\CollectionDataObject;
|
||||
use Tests\Classes\FromInputObject;
|
||||
use Tests\Classes\ObjectWithoutMapper;
|
||||
use Tests\Classes\OptionalData;
|
||||
use Tests\Classes\OptionalNullableData;
|
||||
use Tests\Classes\PrimitiveData;
|
||||
|
|
@ -16,7 +14,7 @@ use Tests\Classes\WithMapperObject;
|
|||
|
||||
describe('primitive data test', function () {
|
||||
it('creates required rules', function () {
|
||||
$rules = RuleFactory::buildRules(RuleFactory::getParametersMeta(PrimitiveData::class), '');
|
||||
$rules = PrimitiveData::getRules();
|
||||
expect($rules)->toMatchArray([
|
||||
'string' => ['required'],
|
||||
'int' => ['required', 'numeric'],
|
||||
|
|
@ -42,7 +40,7 @@ describe('primitive data test', function () {
|
|||
|
||||
describe('optional data', function () {
|
||||
it('creates optional rules', function () {
|
||||
$rules = RuleFactory::buildRules(RuleFactory::getParametersMeta(OptionalData::class), '');
|
||||
$rules = OptionalData::getRules();
|
||||
expect($rules)->toMatchArray([
|
||||
'string' => ['sometimes'],
|
||||
'int' => ['sometimes', 'numeric'],
|
||||
|
|
@ -63,7 +61,7 @@ describe('optional data', function () {
|
|||
|
||||
describe('nullable data', function () {
|
||||
it('creates nullable rules', function () {
|
||||
$rules = RuleFactory::buildRules(RuleFactory::getParametersMeta(OptionalNullableData::class), '');
|
||||
$rules = OptionalNullableData::getRules();
|
||||
expect($rules)->toMatchArray([
|
||||
'string' => ['required'],
|
||||
'int' => ['nullable', 'numeric'],
|
||||
|
|
@ -93,10 +91,7 @@ describe('nullable data', function () {
|
|||
describe('reference other DataObject', function () {
|
||||
|
||||
it('creates recursive rules', function () {
|
||||
$rules = RuleFactory::buildRules(
|
||||
RuleFactory::getParametersMeta(RecursiveDataObject::class),
|
||||
'',
|
||||
);
|
||||
$rules = RecursiveDataObject::getRules();
|
||||
expect($rules)->toMatchArray([
|
||||
'string' => ['required'],
|
||||
'extra.string' => ['required'],
|
||||
|
|
@ -109,7 +104,7 @@ describe('reference other DataObject', function () {
|
|||
|
||||
describe('primitive array', function () {
|
||||
it('creates array rules', function () {
|
||||
$rules = RuleFactory::buildRules(RuleFactory::getParametersMeta(ArrayDataObject::class), '');
|
||||
$rules = ArrayDataObject::getRules();
|
||||
expect($rules)->toMatchArray([
|
||||
'values' => ['required', 'array'],
|
||||
'values.*' => ['required', 'numeric'],
|
||||
|
|
@ -120,10 +115,7 @@ describe('primitive array', function () {
|
|||
|
||||
describe('object array', function () {
|
||||
it('creates array rules', function () {
|
||||
$rules = RuleFactory::buildRules(
|
||||
RuleFactory::getParametersMeta(CollectionDataObject::class),
|
||||
'',
|
||||
);
|
||||
$rules = CollectionDataObject::getRules();
|
||||
expect($rules)->toMatchArray([
|
||||
'values' => ['required', 'array'],
|
||||
'values.*' => ['required'],
|
||||
|
|
@ -139,7 +131,7 @@ describe('can map input names', function () {
|
|||
|
||||
it('creates rules with property names', function () {
|
||||
|
||||
$rules = RuleFactory::buildRules(RuleFactory::getParametersMeta(FromInputObject::class), '');
|
||||
$rules = FromInputObject::getRules();
|
||||
expect($rules)->toMatchArray([
|
||||
'text' => ['required' ],
|
||||
'standard' => ['required', 'numeric'],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue