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
|
<?php
namespace MediaWiki\Auth;
/**
* @group AuthManager
* @covers MediaWiki\Auth\CreateFromLoginAuthenticationRequest
*/
class CreateFromLoginAuthenticationRequestTest extends AuthenticationRequestTestCase {
protected function getInstance( array $args = [] ) {
return new CreateFromLoginAuthenticationRequest(
null, []
);
}
public function provideLoadFromSubmission() {
return [
'Empty request' => [
[],
[],
[],
],
];
}
/**
* @dataProvider provideState
*/
public function testState(
$createReq, $maybeLink, $username, $loginState, $createState, $createPrimaryState
) {
$req = new CreateFromLoginAuthenticationRequest( $createReq, $maybeLink );
$this->assertSame( $username, $req->username );
$this->assertSame( $loginState, $req->hasStateForAction( AuthManager::ACTION_LOGIN ) );
$this->assertSame( $createState, $req->hasStateForAction( AuthManager::ACTION_CREATE ) );
$this->assertFalse( $req->hasStateForAction( AuthManager::ACTION_LINK ) );
$this->assertFalse( $req->hasPrimaryStateForAction( AuthManager::ACTION_LOGIN ) );
$this->assertSame( $createPrimaryState,
$req->hasPrimaryStateForAction( AuthManager::ACTION_CREATE ) );
}
public static function provideState() {
$req1 = new UsernameAuthenticationRequest;
$req2 = new UsernameAuthenticationRequest;
$req2->username = 'Bob';
return [
'Nothing' => [ null, [], null, false, false, false ],
'Link, no create' => [ null, [ $req2 ], null, true, true, false ],
'No link, create but no name' => [ $req1, [], null, false, true, true ],
'Link and create but no name' => [ $req1, [ $req2 ], null, true, true, true ],
'No link, create with name' => [ $req2, [], 'Bob', false, true, true ],
'Link and create with name' => [ $req2, [ $req2 ], 'Bob', true, true, true ],
];
}
}
|