testSetRequireLatLngManual()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 9
rs 9.9666
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace FullscreenInteractive\SilverStripe\Tests;
4
5
use SilverStripe\Dev\SapphireTest;
6
use SilverStripe\Forms\RequiredFields;
7
use FullscreenInteractive\SilverStripe\AddressFinderField;
8
9
class AddressFinderFieldTest extends SapphireTest
10
{
11
    public function testConstructor()
12
    {
13
        $field = new AddressFinderField('name', 'Title');
14
15
        $this->assertEquals('Title', $field->Title());
16
        $this->assertEquals(12, $field->getManualFields()->count(), '12 manual address fields');
17
    }
18
19
    public function testSetRequireLatLngManual()
20
    {
21
        $field = new AddressFinderField('name', 'Title');
22
        $field = $field->setRequireLatLngManual(true);
23
24
        $fieldHolder = $field->FieldHolder();
25
26
        $this->assertContains('input type="text" name="name[Longitude]"', $fieldHolder);
27
    }
28
29
    public function testValidator()
30
    {
31
        $field = new AddressFinderField('name', 'Title');
32
        $required = new RequiredFields('name');
33
34
        $this->assertFalse($field->validate($required));
35
36
        $field->setValue([
37
            'Address' => '1 Test Street, Test Land, 90210',
38
            'PostalLine1' => '1 Test Street',
39
            'City' => 'Test Land',
40
            'Postcode' => '90210'
41
        ]);
42
43
        $this->assertTrue($field->validate($required));
44
    }
45
}
46