LocatorFormTest::testFields()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 0
dl 0
loc 5
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Dynamic\Locator\Tests\Form;
4
5
use Dynamic\Locator\Location;
6
use Dynamic\Locator\Page\Locator;
7
use Dynamic\Locator\Page\LocatorController;
8
use Dynamic\Locator\Form\LocatorForm;
9
use SilverStripe\Core\Config\Config;
10
use SilverStripe\Dev\FunctionalTest;
11
use SilverStripe\Forms\FieldList;
12
use SilverStripe\Forms\RequiredFields;
13
14
/**
15
 * Class LocatorFormTest
16
 * @package Dynamic\Locator\Tests\Form
17
 */
18
class LocatorFormTest extends FunctionalTest
19
{
20
    protected static $fixture_file = 'locatorformfixture.yml';
21
22
    /**
23
     *
24
     */
25
    protected function setUp()
26
    {
27
        parent::setUp();
28
29
        Config::modify()->set(Locator::class, 'location_class', Location::class);
30
    }
31
32
    /**
33
     *
34
     */
35
    public function testLocatorFormBase()
36
    {
37
        $locator = $this->objFromFixture(Locator::class, 'locator1');
38
        $form = LocatorForm::create(LocatorController::create($locator), 'LocatorForm');
39
40
        $this->assertInstanceOf(FieldList::class, $form->Fields());
41
        $this->assertInstanceOf(RequiredFields::class, $form->getValidator());
42
    }
43
44
    /**
45
     *
46
     */
47
    public function testUpdateRequiredFields()
48
    {
49
        $locator = $this->objFromFixture(Locator::class, 'locator1');
50
        $form = LocatorForm::create(LocatorController::create($locator), 'LocatorForm');
51
        $validator = $form->getValidator();
52
53
        $validator->removeRequiredField('Address');
54
        $validator->addRequiredField('Foo');
55
56
        $this->assertEquals(['Foo'], $form->getValidator()->getRequired());
57
    }
58
59
    /**
60
     *
61
     */
62
    public function testFields()
63
    {
64
        $locator = $this->objFromFixture(Locator::class, 'locator1');
65
        $form = LocatorForm::create(LocatorController::create($locator), 'LocatorForm');
66
        $this->assertInstanceOf(FieldList::class, $form->Fields());
67
    }
68
69
    /**
70
     *
71
     */
72
    public function testActions()
73
    {
74
        $locator = $this->objFromFixture(Locator::class, 'locator1');
75
        $form = LocatorForm::create(LocatorController::create($locator), 'LocatorForm');
76
        $this->assertInstanceOf(FieldList::class, $form->Actions());
77
    }
78
}
79