entityIdManager = $this->getMockBuilder( '\SMW\SQLStore\EntityStore\EntityIdManager' ) ->disableOriginalConstructor() ->getMock(); $database = $this->getMockBuilder( '\SMW\MediaWiki\Connection\Database' ) ->disableOriginalConstructor() ->getMock(); $this->elasticClient = $this->getMockBuilder( '\SMW\Elastic\Connection\DummyClient' ) ->disableOriginalConstructor() ->getMock(); $callback = function ( $type ) use( $database ) { if ( $type === 'mw.db' ) { return $connection; } return $this->elasticClient; }; $this->store = $this->getMockBuilder( '\SMW\SQLStore\SQLStore' ) ->disableOriginalConstructor() ->getMock(); $this->store->expects( $this->any() ) ->method( 'getConnection' ) ->willReturnCallback( $callback ); $this->store->expects( $this->any() ) ->method( 'getObjectIds' ) ->willReturn( $this->entityIdManager ); $this->termsLookup = $this->getMockBuilder( '\SMW\Elastic\QueryEngine\TermsLookup\termsLookup' ) ->disableOriginalConstructor() ->getMock(); $this->hierarchyLookup = $this->getMockBuilder( '\SMW\HierarchyLookup' ) ->disableOriginalConstructor() ->getMock(); $this->servicesContainer = $this->getMockBuilder( '\SMW\Services\ServicesContainer' ) ->disableOriginalConstructor() ->getMock(); } public function testCanConstruct() { $this->assertInstanceOf( ConditionBuilder::class, new ConditionBuilder( $this->store, $this->termsLookup, $this->hierarchyLookup, $this->servicesContainer ) ); } public function testPrepareCache() { $this->entityIdManager->expects( $this->once() ) ->method( 'warmUpCache' ); $instance = new ConditionBuilder( $this->store, $this->termsLookup, $this->hierarchyLookup, $this->servicesContainer ); $instance->prepareCache( [] ); } }