From 4d1feeb96c2c73694f03c6d71cb01253d71c44c3 Mon Sep 17 00:00:00 2001 From: Aivaras Gotovskis <aivaras.gotovskis@ongr.io> Date: Thu, 2 Jul 2015 15:59:11 +0300 Subject: [PATCH] Test usage of empty stdClass. In method FunctionScoreQueryTest::addRandomFunction. --- tests/Query/FunctionScoreQueryTest.php | 55 ++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/tests/Query/FunctionScoreQueryTest.php b/tests/Query/FunctionScoreQueryTest.php index fb83cf0..85c034d 100644 --- a/tests/Query/FunctionScoreQueryTest.php +++ b/tests/Query/FunctionScoreQueryTest.php @@ -13,6 +13,7 @@ namespace ONGR\ElasticsearchDSL\Tests\Unit\DSL\Query; use ONGR\ElasticsearchDSL\BuilderInterface; use ONGR\ElasticsearchDSL\Query\FunctionScoreQuery; +use ONGR\ElasticsearchDSL\Query\MatchAllQuery; use PHPUnit_Framework_MockObject_MockObject as MockObject; /** @@ -20,6 +21,60 @@ use PHPUnit_Framework_MockObject_MockObject as MockObject; */ class FunctionScoreQueryTest extends \PHPUnit_Framework_TestCase { + /** + * Data provider for testAddRandomFunction. + * + * @return array + */ + public function addRandomFunctionProvider() + { + return [ + // Case #0. No seed. + [ + 'seed' => null, + 'expectedArray' => [ + 'query' => [ null => null ], + 'functions' => [ + [ + 'random_score' => new \stdClass(), + ], + ], + ], + ], + // Case #1. With seed. + [ + 'seed' => 'someSeed', + 'expectedArray' => [ + 'query' => [ null => null ], + 'functions' => [ + [ + 'random_score' => [ 'seed' => 'someSeed'], + ], + ], + ], + ], + ]; + } + + /** + * Tests addRandomFunction method. + * + * @param mixed $seed + * @param array $expectedArray + * + * @dataProvider addRandomFunctionProvider + */ + public function testAddRandomFunction($seed, $expectedArray) + { + /** @var MatchAllQuery|MockObject $matchAllQuery */ + $matchAllQuery = $this->getMock('ONGR\ElasticsearchDSL\Query\MatchAllQuery'); + + $functionScoreQuery = new FunctionScoreQuery($matchAllQuery); + $functionScoreQuery->addRandomFunction($seed); + + $this->assertEquals($expectedArray, $functionScoreQuery->toArray()); + } + /** * Tests default argument values. */ -- GitLab