UserFormsCheckboxSetFieldTest   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 17
dl 0
loc 26
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A testValidate() 0 24 1
1
<?php
2
3
namespace SilverStripe\UserForms\Tests\FormField;
4
5
use SilverStripe\Dev\SapphireTest;
6
use SilverStripe\UserForms\Form\UserFormsRequiredFields;
7
use SilverStripe\UserForms\FormField\UserFormsCheckboxSetField;
8
9
class UserFormsCheckboxSetFieldTest extends SapphireTest
10
{
11
    public function testValidate()
12
    {
13
        $field = new UserFormsCheckboxSetField('Field', 'My field', ['One' => 'One', 'Two' => 'Two']);
14
        $validator = new UserFormsRequiredFields();
15
16
        // String values
17
        $field->setValue('One');
18
        $this->assertTrue($field->validate($validator));
19
        $field->setValue('One,Two');
20
        $this->assertTrue($field->validate($validator));
21
        $field->setValue('Three,Four');
22
        $this->assertFalse($field->validate($validator));
23
24
        // Array values
25
        $field->setValue(array('One'));
26
        $this->assertTrue($field->validate($validator));
27
        $field->setValue(array('One', 'Two'));
28
        $this->assertTrue($field->validate($validator));
29
30
        // Invalid
31
        $field->setValue('Three');
32
        $this->assertFalse($field->validate($validator));
33
        $field->setValue(array('Three', 'Four'));
34
        $this->assertFalse($field->validate($validator));
35
    }
36
}
37