SettingTest::testValidateValue()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 6
c 1
b 0
f 0
dl 0
loc 9
rs 10
cc 1
nc 1
nop 4
1
<?php
2
namespace RazonYang\Yii2\Setting\Tests\Unit;
3
4
use Codeception\Test\Unit;
5
use RazonYang\Yii2\Setting\Model\Setting;
6
7
class SettingTest extends Unit
8
{
9
    /**
10
     * @dataProvider dataProviderValidateValue
11
     */
12
    public function testValidateValue(string $id, string $value, string $rules, bool $hasErrors)
13
    {
14
        $setting = new Setting([
15
            'id' => $id,
16
            'value' => $value,
17
            'rules' => $rules,
18
        ]);
19
        $setting->validateValue('value');
20
        $this->assertSame($hasErrors, $setting->hasErrors());
21
    }
22
23
    public function dataProviderValidateValue(): array
24
    {
25
        return [
26
            ['name', '', '', false],
27
            ['name', '', '[["required"]]', true],
28
            ['name', 'foo', '[["required"]]', false],
29
            ['name', '1', '[["number"]]', false],
30
            ['name', 'foo', '[["number"]]', true],
31
        ];
32
    }
33
}
34