Completed
Push — master ( 388143...889690 )
by Thomas
05:32 queued 02:57
created

ApiEntityStoreTest   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 78
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 6
Bugs 0 Features 4
Metric Value
wmc 8
c 6
b 0
f 4
lcom 1
cbo 3
dl 0
loc 78
rs 10

8 Methods

Rating   Name   Duplication   Size   Complexity  
A testGetEntityLookup() 0 8 1
A testGetEntityDocumentLookup() 0 8 1
A testGetItemLookup() 0 8 1
A testGetPropertyLookup() 0 8 1
A testGetItemForTermLookup() 0 8 1
A testGetPropertyForTermLookup() 0 8 1
A testGetItemForQueryLookup() 0 11 1
A testGetItemForQueryLookupWithException() 0 9 1
1
<?php
2
3
namespace Wikibase\EntityStore\Api;
4
5
use Wikibase\EntityStore\EntityStoreTest;
6
7
/**
8
 * @covers Wikibase\EntityStore\Api\ApiEntityStore
9
 *
10
 * @licence GPLv2+
11
 * @author Thomas Pellissier Tanon
12
 */
13
class ApiEntityStoreTest extends EntityStoreTest {
14
15
	public function testGetEntityLookup() {
16
		$mediawikiApiMock = $this->getMockBuilder( 'Mediawiki\Api\MediawikiApi' )
17
			->disableOriginalConstructor()
18
			->getMock();
19
		$store = new ApiEntityStore( $mediawikiApiMock );
20
21
		$this->assertInstanceOf( 'Wikibase\DataModel\Services\Lookup\EntityLookup', $store->getEntityLookup() );
22
	}
23
24
	public function testGetEntityDocumentLookup() {
25
		$mediawikiApiMock = $this->getMockBuilder( 'Mediawiki\Api\MediawikiApi' )
26
			->disableOriginalConstructor()
27
			->getMock();
28
		$store = new ApiEntityStore( $mediawikiApiMock );
29
30
		$this->assertInstanceOf( 'Wikibase\EntityStore\EntityDocumentLookup', $store->getEntityDocumentLookup() );
31
	}
32
33
	public function testGetItemLookup() {
34
		$mediawikiApiMock = $this->getMockBuilder( 'Mediawiki\Api\MediawikiApi' )
35
			->disableOriginalConstructor()
36
			->getMock();
37
		$store = new ApiEntityStore( $mediawikiApiMock );
38
39
		$this->assertInstanceOf( 'Wikibase\DataModel\Services\Lookup\ItemLookup', $store->getItemLookup() );
40
	}
41
42
	public function testGetPropertyLookup() {
43
		$mediawikiApiMock = $this->getMockBuilder( 'Mediawiki\Api\MediawikiApi' )
44
			->disableOriginalConstructor()
45
			->getMock();
46
		$store = new ApiEntityStore( $mediawikiApiMock );
47
48
		$this->assertInstanceOf( 'Wikibase\DataModel\Services\Lookup\PropertyLookup', $store->getPropertyLookup() );
49
	}
50
51
	public function testGetItemForTermLookup() {
52
		$mediawikiApiMock = $this->getMockBuilder( 'Mediawiki\Api\MediawikiApi' )
53
			->disableOriginalConstructor()
54
			->getMock();
55
		$store = new ApiEntityStore( $mediawikiApiMock );
56
57
		$this->assertInstanceOf( 'Wikibase\EntityStore\ItemIdForTermLookup', $store->getItemIdForTermLookup() );
58
	}
59
60
	public function testGetPropertyForTermLookup() {
61
		$mediawikiApiMock = $this->getMockBuilder( 'Mediawiki\Api\MediawikiApi' )
62
			->disableOriginalConstructor()
63
			->getMock();
64
		$store = new ApiEntityStore( $mediawikiApiMock );
65
66
		$this->assertInstanceOf( 'Wikibase\EntityStore\PropertyIdForTermLookup', $store->getPropertyIdForTermLookup() );
67
	}
68
69
	public function testGetItemForQueryLookup() {
70
		$mediawikiApiMock = $this->getMockBuilder( 'Mediawiki\Api\MediawikiApi' )
71
			->disableOriginalConstructor()
72
			->getMock();
73
		$wikidataQueryApiMock = $this->getMockBuilder( 'WikidataQueryApi\WikidataQueryApi' )
74
			->disableOriginalConstructor()
75
			->getMock();
76
		$store = new ApiEntityStore( $mediawikiApiMock, $wikidataQueryApiMock );
77
78
		$this->assertInstanceOf( 'Wikibase\EntityStore\ItemIdForQueryLookup', $store->getItemIdForQueryLookup() );
79
	}
80
81
	public function testGetItemForQueryLookupWithException() {
82
		$mediawikiApiMock = $this->getMockBuilder( 'Mediawiki\Api\MediawikiApi' )
83
			->disableOriginalConstructor()
84
			->getMock();
85
		$store = new ApiEntityStore( $mediawikiApiMock );
86
87
		$this->setExpectedException( 'Wikibase\EntityStore\FeatureNotSupportedException');
88
		$this->assertInstanceOf( 'Wikibase\EntityStore\ItemIdForQueryLookup', $store->getItemIdForQueryLookup() );
89
	}
90
}
91