/** * Tests toArray method. * * @param string $parentType Parent type. * @param string $queryType Type of query for mock query class. * @param array $queryToArray Return value for mock query class toArray method. * @param array $parameters Optional parameters. * @param string $dslType Filter or query. * @param array $expected Expected result. * * @dataProvider getArrayDataProvider */ public function testToArray($parentType, $queryType, $queryToArray, $parameters, $dslType, $expected) { $mockQuery = $this->getMockBuilder('ONGR\\ElasticsearchBundle\\DSL\\BuilderInterface')->getMock(); $mockQuery->expects($this->once())->method('getType')->will($this->returnValue($queryType)); $mockQuery->expects($this->once())->method('toArray')->will($this->returnValue($queryToArray)); $filter = new HasParentFilter($parentType, $mockQuery, $parameters); $filter->setDslType($dslType); $result = $filter->toArray(); $this->assertEquals($expected, $result); }