summaryrefslogtreecommitdiff
path: root/bin/wiki/vendor/addwiki/mediawiki-api/tests/unit/MediawikiFactoryTest.php
blob: c4ce958f066c94215898529390524e8f9b98e86e (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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php

namespace Mediawiki\Api\Test;

use Mediawiki\Api\MediawikiFactory;

/**
 * @covers Mediawiki\Api\MediawikiFactory
 *
 * @author Addshore
 */
class MediawikiFactoryTest extends \PHPUnit_Framework_TestCase {

	public function getMockMediawikiApi() {
		return $this->getMockBuilder( 'Mediawiki\Api\MediawikiApi' )
			->disableOriginalConstructor()
			->getMock();
	}

	public function provideFactoryMethodsTest() {
		return [
			[ 'Mediawiki\Api\Service\RevisionSaver', 'newRevisionSaver' ],
			[ 'Mediawiki\Api\Service\RevisionUndoer', 'newRevisionUndoer' ],
			[ 'Mediawiki\Api\Service\PageGetter', 'newPageGetter' ],
			[ 'Mediawiki\Api\Service\UserGetter', 'newUserGetter' ],
			[ 'Mediawiki\Api\Service\PageDeleter', 'newPageDeleter' ],
			[ 'Mediawiki\Api\Service\PageMover', 'newPageMover' ],
			[ 'Mediawiki\Api\Service\PageListGetter', 'newPageListGetter' ],
			[ 'Mediawiki\Api\Service\PageRestorer', 'newPageRestorer' ],
			[ 'Mediawiki\Api\Service\PagePurger', 'newPagePurger' ],
			[ 'Mediawiki\Api\Service\RevisionRollbacker', 'newRevisionRollbacker' ],
			[ 'Mediawiki\Api\Service\RevisionPatroller', 'newRevisionPatroller' ],
			[ 'Mediawiki\Api\Service\PageProtector', 'newPageProtector' ],
			[ 'Mediawiki\Api\Service\PageWatcher', 'newPageWatcher' ],
			[ 'Mediawiki\Api\Service\RevisionDeleter', 'newRevisionDeleter' ],
			[ 'Mediawiki\Api\Service\RevisionRestorer', 'newRevisionRestorer' ],
			[ 'Mediawiki\Api\Service\UserBlocker', 'newUserBlocker' ],
			[ 'Mediawiki\Api\Service\UserRightsChanger', 'newUserRightsChanger' ],
			[ 'Mediawiki\Api\Service\UserCreator', 'newUserCreator' ],
			[ 'Mediawiki\Api\Service\LogListGetter', 'newLogListGetter' ],
			[ 'Mediawiki\Api\Service\FileUploader', 'newFileUploader' ],
			[ 'Mediawiki\Api\Service\ImageRotator', 'newImageRotator' ],
		];
	}

	/**
	 * @dataProvider provideFactoryMethodsTest
	 */
	public function testFactoryMethod( $class, $method ) {
		$factory = new MediawikiFactory( $this->getMockMediawikiApi() );
		$this->assertInstanceOf( $class, $factory->$method() );
	}

}