Passed
Push — master ( bf3235...abf80a )
by Antony
02:59
created

KnockoutConfirmedPasswordFieldTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 55
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 40
dl 0
loc 55
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A testKnockoutConfirmedPasswordField() 0 53 1
1
<?php
2
3
namespace AntonyThorpe\Knockout\Tests;
4
5
use SilverStripe\Dev\SapphireTest;
6
use AntonyThorpe\Knockout\KnockoutConfirmedPasswordField;
7
8
/**
9
 * KnockoutConfirmedPasswordFieldTest
10
 */
11
class KnockoutConfirmedPasswordFieldTest extends SapphireTest
12
{
13
    public function testKnockoutConfirmedPasswordField()
14
    {
15
        $field = KnockoutConfirmedPasswordField::create("MyField", "My Field");
16
        $fields = $field->children;
17
        $password_field = $fields->fieldByName('MyField[_Password]');
18
        $password_confirmed_field = $fields->fieldByName('MyField[_ConfirmPassword]');
19
20
        $this->assertNotNull(
21
            $password_field,
22
            "password field is not null"
23
        );
24
        $this->assertNotNull(
25
            $password_confirmed_field,
26
            "password confirmed field is not null"
27
        );
28
        $this->assertEquals(
29
            "password",
30
            $password_field->getObservable(),
31
            "observable is set to password by default in the Password field"
32
        );
33
        $this->assertEquals(
34
            "confirmedPassword",
35
            $password_confirmed_field->getObservable(),
36
            "observable is set to confirmedPassword by default in the Confirmed Password field"
37
        );
38
        $this->assertEquals(
39
            ['password', 'confirmedPassword'],
40
            $field->getObservables(),
41
            "The function getObservables returns an array of the observables set on the child fields"
42
        );
43
44
45
        $field2 = KnockoutConfirmedPasswordField::create("MyField2", "My Field2")
46
                ->setObservables(['password2', 'confirmedPassword2']);
47
        $fields2 = $field2->children;
48
49
        $password_field2 = $fields2->fieldByName('MyField2[_Password]');
50
        $password_confirmed_field2 = $fields2->fieldByName('MyField2[_ConfirmPassword]');
51
52
        $this->assertEquals(
53
            "password2",
54
            $password_field2->getObservable(),
55
            "observable is set to password2 through the setObservables method"
56
        );
57
        $this->assertEquals(
58
            "confirmedPassword2",
59
            $password_confirmed_field2->getObservable(),
60
            "observable is set to confirmedPassword2 through the setObservables method"
61
        );
62
        $this->assertEquals(
63
            ['password2', 'confirmedPassword2'],
64
            $field2->getObservables(),
65
            "The function getObservables returns an array of the observables set on the child fields"
66
        );
67
    }
68
}
69