forked from laravel/framework
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAuthDatabaseUserProviderTest.php
More file actions
executable file
·84 lines (65 loc) · 3.07 KB
/
AuthDatabaseUserProviderTest.php
File metadata and controls
executable file
·84 lines (65 loc) · 3.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
use Mockery as m;
class AuthDatabaseUserProviderTest extends PHPUnit_Framework_TestCase {
public function tearDown()
{
m::close();
}
public function testRetrieveByIDReturnsUserWhenUserIsFound()
{
$conn = m::mock('Illuminate\Database\Connection');
$conn->shouldReceive('table')->once()->with('foo')->andReturn($conn);
$conn->shouldReceive('find')->once()->with(1)->andReturn(array('id' => 1, 'name' => 'Dayle'));
$hasher = m::mock('Illuminate\Hashing\HasherInterface');
$provider = new Illuminate\Auth\DatabaseUserProvider($conn, $hasher, 'foo');
$user = $provider->retrieveByID(1);
$this->assertInstanceOf('Illuminate\Auth\GenericUser', $user);
$this->assertEquals(1, $user->getAuthIdentifier());
$this->assertEquals('Dayle', $user->name);
}
public function testRetrieveByIDReturnsNullWhenUserIsNotFound()
{
$conn = m::mock('Illuminate\Database\Connection');
$conn->shouldReceive('table')->once()->with('foo')->andReturn($conn);
$conn->shouldReceive('find')->once()->with(1)->andReturn(null);
$hasher = m::mock('Illuminate\Hashing\HasherInterface');
$provider = new Illuminate\Auth\DatabaseUserProvider($conn, $hasher, 'foo');
$user = $provider->retrieveByID(1);
$this->assertNull($user);
}
public function testRetrieveByCredentialsReturnsUserWhenUserIsFound()
{
$conn = m::mock('Illuminate\Database\Connection');
$conn->shouldReceive('table')->once()->with('foo')->andReturn($conn);
$conn->shouldReceive('where')->once()->with('username', 'dayle');
$conn->shouldReceive('first')->once()->andReturn(array('id' => 1, 'name' => 'taylor'));
$hasher = m::mock('Illuminate\Hashing\HasherInterface');
$provider = new Illuminate\Auth\DatabaseUserProvider($conn, $hasher, 'foo');
$user = $provider->retrieveByCredentials(array('username' => 'dayle', 'password' => 'foo'));
$this->assertInstanceOf('Illuminate\Auth\GenericUser', $user);
$this->assertEquals(1, $user->getAuthIdentifier());
$this->assertEquals('taylor', $user->name);
}
public function testRetrieveByCredentialsReturnsNullWhenUserIsFound()
{
$conn = m::mock('Illuminate\Database\Connection');
$conn->shouldReceive('table')->once()->with('foo')->andReturn($conn);
$conn->shouldReceive('where')->once()->with('username', 'dayle');
$conn->shouldReceive('first')->once()->andReturn(null);
$hasher = m::mock('Illuminate\Hashing\HasherInterface');
$provider = new Illuminate\Auth\DatabaseUserProvider($conn, $hasher, 'foo');
$user = $provider->retrieveByCredentials(array('username' => 'dayle'));
$this->assertNull($user);
}
public function testCredentialValidation()
{
$conn = m::mock('Illuminate\Database\Connection');
$hasher = m::mock('Illuminate\Hashing\HasherInterface');
$hasher->shouldReceive('check')->once()->with('plain', 'hash')->andReturn(true);
$provider = new Illuminate\Auth\DatabaseUserProvider($conn, $hasher, 'foo');
$user = m::mock('Illuminate\Auth\UserInterface');
$user->shouldReceive('getAuthPassword')->once()->andReturn('hash');
$result = $provider->validateCredentials($user, array('password' => 'plain'));
$this->assertTrue($result);
}
}