Passed
Pull Request — master (#416)
by Sergei
02:35
created

RuleTestCase::beforeTestValidationFailed()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 0

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 0
nc 1
nop 0
dl 0
loc 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\Validator\Tests\Rule\Base;
6
7
use PHPUnit\Framework\TestCase;
8
use Yiisoft\Validator\Tests\Support\ValidatorFactory;
9
10
abstract class RuleTestCase extends TestCase
11
{
12
    abstract public function dataValidationPassed(): array;
13
14
    /**
15
     * @dataProvider dataValidationPassed
16
     */
17
    public function testValidationPassed(mixed $data, array $rules): void
18
    {
19
        $result = ValidatorFactory::make()->validate($data, $rules);
20
21
        $this->assertTrue($result->isValid());
22
    }
23
24
    abstract public function dataValidationFailed(): array;
25
26
    /**
27
     * @dataProvider dataValidationFailed
28
     */
29
    public function testValidationFailed(mixed $data, array|null $rules, array $errorMessagesIndexedByPath): void
30
    {
31
        $result = ValidatorFactory::make()->validate($data, $rules);
32
33
        $this->assertFalse($result->isValid());
34
        $this->assertSame($errorMessagesIndexedByPath, $result->getErrorMessagesIndexedByPath());
35
    }
36
}
37