PureModalTest::testPureModal()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 15
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 11
c 1
b 0
f 1
nc 1
nop 0
dl 0
loc 15
rs 9.9
1
<?php
2
3
namespace LeKoala\PureModal\Test;
4
5
use LeKoala\PureModal\PureModal;
6
use LeKoala\PureModal\PureModalAction;
7
use SilverStripe\Control\Controller;
8
use SilverStripe\Dev\SapphireTest;
9
10
class PureModalTest extends SapphireTest
11
{
12
    protected function setUp(): void
13
    {
14
        parent::setUp();
15
        $controller = Controller::curr();
16
        $controller->config()->set('url_segment', 'test_controller');
17
    }
18
19
    /**
20
     * Run some basic stuff to make sure we don't get obvious issues
21
     *
22
     * @return void
23
     */
24
    public function testPureModal(): void
25
    {
26
        $inst = new PureModal("test", "test title", "some content");
27
        $this->assertEquals($inst->getOverlayTriggersClose(), PureModal::getOverlayTriggersCloseConfig());
28
        $this->assertIsBool($inst->getOverlayTriggersClose());
29
        $this->assertArrayHasKey('onclick', $inst->getAttributes());
30
        $newContent = "updated content";
31
        $inst->setContent($newContent);
32
        $this->assertEquals($newContent, $inst->getContent());
33
34
        $render = (string)PureModal::renderDialog(Controller::curr());
35
        $this->assertIsString($render);
36
37
        $link = $inst->getControllerLink("testaction");
38
        $this->assertTrue(str_contains($link, 'testaction'));
39
    }
40
41
    /**
42
     * Run some basic stuff to make sure we don't get obvious issues
43
     *
44
     * @return void
45
     */
46
    public function testPureModalAction(): void
47
    {
48
        $inst = new PureModalAction("test", "test title");
49
        $this->assertIsBool($inst->getOverlayTriggersClose());
50
        $this->assertArrayHasKey('onclick', $inst->getAttributes());
51
    }
52
}
53