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

ElementCountDownTest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 51
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 51
rs 10
c 0
b 0
f 0
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A testGetType() 0 5 1
A testEncodeArrayValues() 0 8 1
A testGetClientConfig() 0 5 1
A testValidate() 0 8 1
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