Passed
Push — master ( 75c14e...2520d9 )
by Matthew
02:43
created

ElementCountDownTest::testEncodeArrayValues()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 0
dl 0
loc 8
rs 9.4285
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\Core\Injector\Injector;
7
use SilverStripe\Dev\SapphireTest;
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 testValidate()
35
    {
36
        /** @var ElementCountDown $element */
37
        $element = $this->objFromFixture(ElementCountDown::class, 'endonly');
38
        $this->assertTrue($element->validate()->isValid());
39
40
        $element = $this->objFromFixture(ElementCountDown::class, 'invalid');
41
        $this->assertFalse($element->validate()->isValid());
42
    }
43
44
    /**
45
     *
46
     */
47
    public function testGetClientConfig()
48
    {
49
        /** @var ElementCountDown $element */
50
        $element = $this->objFromFixture(ElementCountDown::class, 'endonly');
51
        $this->assertInstanceOf(ArrayData::class, $element->getClientConfig());
52
    }
53
54
    /**
55
     *
56
     */
57
    public function testEncodeArrayValues()
58
    {
59
        /** @var ElementCountDown $element */
60
        $element = $this->objFromFixture(ElementCountDown::class, 'elapse');
61
        $config = $element->getClientConfig();
62
63
        $this->assertEquals(json_decode($config->getField('End')), $element->End);
64
        $this->assertEquals(json_decode($config->getField('Elapse')), $element->Elapse);
65
    }
66
}
67