Completed
Pull Request — master (#11)
by Matthew
05:04
created

ElementCountDownTest::testGetCMSFields()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 0
dl 0
loc 5
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Dynamic\Elements\CountDown\Tests;
4
5
use Dynamic\Elements\CountDown\Elements\ElementCountDown;
6
use SilverStripe\Dev\SapphireTest;
7
use SilverStripe\Forms\FieldList;
8
use SilverStripe\View\ArrayData;
9
10
/**
11
 * Class ElementCountDownTest
12
 * @package Dynamic\Elements\Tests
13
 */
14
class ElementCountDownTest extends SapphireTest
15
{
16
    /**
17
     * @var string
18
     */
19
    protected static $fixture_file = '../fixtures.yml';
20
21
    /**
22
     *
23
     */
24
    public function testGetType()
25
    {
26
        /** @var ElementCountDown $element */
27
        $element = $this->objFromFixture(ElementCountDown::class, 'endonly');
28
        $this->assertEquals($element->getType(), 'Count Down');
29
    }
30
31
    /**
32
     *
33
     */
34
    public function testGetCMSFields()
35
    {
36
        /** @var ElementCountDown $element */
37
        $element = $this->objFromFixture(ElementCountDown::class, 'endonly');
38
        $this->assertInstanceOf(FieldList::class, $element->getCMSFields());
39
    }
40
41
    /**
42
     *
43
     */
44
    public function testValidate()
45
    {
46
        /** @var ElementCountDown $element */
47
        $element = $this->objFromFixture(ElementCountDown::class, 'endonly');
48
        $this->assertTrue($element->validate()->isValid());
49
50
        $element = $this->objFromFixture(ElementCountDown::class, 'invalid');
51
        $this->assertFalse($element->validate()->isValid());
52
    }
53
54
    /**
55
     *
56
     */
57
    public function testEnd()
58
    {
59
        /** @var ElementCountDown $element */
60
        $element = $this->objFromFixture(ElementCountDown::class, 'endonly');
61
        $this->assertEquals('2027-10-03 17:00:00', $element->End());
62
    }
63
64
    /**
65
     *
66
     */
67
    public function testGetClientConfig()
68
    {
69
        /** @var ElementCountDown $element */
70
        $element = $this->objFromFixture(ElementCountDown::class, 'endonly');
71
        $this->assertInstanceOf(ArrayData::class, $element->getClientConfig());
72
    }
73
74
    /**
75
     *
76
     */
77
    public function testEncodeArrayValues()
78
    {
79
        /** @var ElementCountDown $element */
80
        $element = $this->objFromFixture(ElementCountDown::class, 'elapse');
81
        $config = $element->getClientConfig();
82
83
        $this->assertEquals(json_decode($config->getField('End')), $element->End());
84
        $this->assertEquals(json_decode($config->getField('Elapse')), $element->Elapse);
85
    }
86
}
87