Completed
Push — master ( 3c0a16...506e36 )
by Robbie
10s
created

TextCheckboxGroupFieldTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 36
rs 10
c 0
b 0
f 0
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 7 1
A testFieldReturnsCompositeFieldTemplateOnReadonlyTransformation() 0 14 1
A testFieldIsAssignedFirstFieldsTitleInConstructor() 0 3 1
1
<?php
2
3
namespace DNADesign\Elemental\Tests\Forms;
4
5
use DNADesign\Elemental\Forms\TextCheckboxGroupField;
6
use SilverStripe\Dev\SapphireTest;
7
use SilverStripe\Forms\CheckboxField;
8
use SilverStripe\Forms\CompositeField;
9
use SilverStripe\Forms\TextField;
10
11
class TextCheckboxGroupFieldTest extends SapphireTest
12
{
13
    /**
14
     * @var TextCheckboxGroupField
15
     */
16
    protected $field;
17
18
    protected function setUp()
19
    {
20
        parent::setUp();
21
22
        $this->field = new TextCheckboxGroupField(
23
            new TextField('HelloWorld'),
24
            new CheckboxField('Display')
25
        );
26
    }
27
28
    public function testFieldIsAssignedFirstFieldsTitleInConstructor()
29
    {
30
        $this->assertSame('Hello World', $this->field->Title());
31
    }
32
33
    public function testFieldReturnsCompositeFieldTemplateOnReadonlyTransformation()
34
    {
35
        $this->assertSame(
36
            TextCheckboxGroupField::class,
37
            $this->field->getTemplates()[0],
38
            'Uses a custom template by default'
39
        );
40
41
        $readonly = $this->field->performReadonlyTransformation();
42
43
        $this->assertSame(
44
            CompositeField::class,
45
            $readonly->getTemplate(),
46
            'Uses CompositeField template for readonly'
47
        );
48
    }
49
}
50