summaryrefslogtreecommitdiff
path: root/tests/phpunit/includes/api/ApiTokensTest.php
blob: fbe97893d8102cae3f2da3af7b1c52f1c360882d (plain)
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
<?php

/**
 * @group API
 * @group Database
 * @group medium
 *
 * @covers ApiTokens
 */
class ApiTokensTest extends ApiTestCase {

	public function testGettingToken() {
		foreach ( self::$users as $user ) {
			$this->runTokenTest( $user );
		}
	}

	protected function runTokenTest( $user ) {
		$tokens = $this->getTokenList( $user );

		$rights = $user->user->getRights();

		$this->assertArrayHasKey( 'edittoken', $tokens );
		$this->assertArrayHasKey( 'movetoken', $tokens );

		if ( isset( $rights['delete'] ) ) {
			$this->assertArrayHasKey( 'deletetoken', $tokens );
		}

		if ( isset( $rights['block'] ) ) {
			$this->assertArrayHasKey( 'blocktoken', $tokens );
			$this->assertArrayHasKey( 'unblocktoken', $tokens );
		}

		if ( isset( $rights['protect'] ) ) {
			$this->assertArrayHasKey( 'protecttoken', $tokens );
		}
	}

}