Passed
Push — zero-is-false ( 14c39e...85b8a2 )
by Sam
06:15
created

DatalessFieldTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Importance

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

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testFieldHolderAndSmallFieldHolderReturnField() 0 19 1
A testPerformReadonlyTransformation() 0 6 1
A testGetAttributes() 0 5 1
1
<?php
2
3
namespace SilverStripe\Forms;
4
5
use PHPUnit_Framework_MockObject_MockObject;
6
use SilverStripe\Dev\SapphireTest;
7
8
class DatalessFieldTest extends SapphireTest
9
{
10
    public function testGetAttributes()
11
    {
12
        $field = new DatalessField('Name');
13
        $result = $field->getAttributes();
14
        $this->assertSame('hidden', $result['type']);
15
    }
16
17
    public function testFieldHolderAndSmallFieldHolderReturnField()
18
    {
19
        /** @var DatalessField|PHPUnit_Framework_MockObject_MockObject $mock */
20
        $mock = $this->getMockBuilder(DatalessField::class)
21
            ->disableOriginalConstructor()
22
            ->setMethods(['Field'])
23
            ->getMock();
24
25
        $properties = [
26
            'foo' => 'bar',
27
        ];
28
29
        $mock->expects($this->exactly(2))->method('Field')->with($properties)->willReturn('boo!');
30
31
        $fieldHolder = $mock->FieldHolder($properties);
32
        $smallFieldHolder = $mock->SmallFieldHolder($properties);
33
34
        $this->assertSame('boo!', $fieldHolder);
35
        $this->assertSame('boo!', $smallFieldHolder);
36
    }
37
38
    public function testPerformReadonlyTransformation()
39
    {
40
        $field = new DatalessField('Test');
41
        $result = $field->performReadonlyTransformation();
42
        $this->assertInstanceOf(DatalessField::class, $result);
43
        $this->assertTrue($result->isReadonly());
44
    }
45
}
46