UserTest::testSetters()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 23
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 1
Metric Value
c 2
b 0
f 1
dl 0
loc 23
rs 9.0856
cc 1
eloc 16
nc 1
nop 0
1
<?php
2
3
/*
4
 * (c) Jim Martens <[email protected]>
5
 *
6
 * For the full copyright and license information, please view the LICENSE
7
 * file that was distributed with this source code.
8
 */
9
10
namespace TwoMartens\Bundle\CoreBundle\Tests\Model\User;
11
12
use TwoMartens\Bundle\CoreBundle\Model\User;
13
14
/**
15
 * Tests the User class.
16
 *
17
 * @author    Jim Martens <[email protected]>
18
 * @copyright 2013-2015 Jim Martens
19
 */
20
class UserTest extends \PHPUnit_Framework_TestCase
21
{
22
    /**
23
     * Tests the constructor
24
     */
25
    public function testConstruct()
26
    {
27
        $user = new User();
28
        $this->assertEquals(null, $user->getSalt());
29
        $this->assertEquals(['ROLE_USER'], $user->getRoles());
30
        $this->assertFalse($user->isEnabled());
31
        $this->assertTrue($user->isAccountNonExpired());
32
        $this->assertTrue($user->isAccountNonLocked());
33
        $this->assertTrue($user->isCredentialsNonExpired());
34
    }
35
36
    /**
37
     * Tests the status change methods.
38
     */
39
    public function testStatusChange()
40
    {
41
        $user = new User();
42
        // test enabled
43
        $this->assertFalse($user->isEnabled());
44
        $user->setEnabled(true);
45
        $this->assertTrue($user->isEnabled());
46
        $user->setEnabled(false);
47
        $this->assertFalse($user->isEnabled());
48
49
        // test account expired
50
        $this->assertTrue($user->isAccountNonExpired());
51
        $user->setExpired(true);
52
        $this->assertFalse($user->isAccountNonExpired());
53
54
        // test account locked
55
        $this->assertTrue($user->isAccountNonLocked());
56
        $user->setLocked(true);
57
        $this->assertFalse($user->isAccountNonLocked());
58
        $user->setLocked(false);
59
        $this->assertTrue($user->isAccountNonLocked());
60
61
        // test credentials expired
62
        $this->assertTrue($user->isCredentialsNonExpired());
63
        $user->setCredentialsExpired(true);
64
        $this->assertFalse($user->isCredentialsNonExpired());
65
    }
66
67
    /**
68
     * Tests the setters.
69
     */
70
    public function testSetters()
71
    {
72
        $user = new User();
73
        $this->assertEquals(null, $user->getSalt());
74
        $this->assertEquals(['ROLE_USER'], $user->getRoles());
75
        // set username
76
        $user->setUsername('Joanne');
77
        $this->assertEquals('Joanne', $user->getUsername());
78
        // set pw and salt
79
        $user->setPassword('hostile');
80
        $this->assertEquals('hostile', $user->getPassword());
81
        $this->assertEquals(null, $user->getSalt());
82
        // set email
83
        $user->setEmail('test2@localhost');
84
        $this->assertEquals('test2@localhost', $user->getEmail());
85
        // set roles
86
        $roles = [
87
            'ROLE_ACP_ACCESS',
88
            'ROLE_USER',
89
        ];
90
        $user->setRoles($roles);
91
        $this->assertEquals($roles, $user->getRoles());
92
    }
93
}
94