From b047f79eb7599159daa6416dd71e0ed385e766f0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mantas=20Urnie=C5=BEa?= <mantas.urnieza@nfq.lt>
Date: Tue, 8 Dec 2015 11:33:21 +0200
Subject: [PATCH] Adding missing query param to Search object.

---
 src/Search.php       | 31 +++++++++++++++++++++++++++++++
 tests/SearchTest.php | 44 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 75 insertions(+)

diff --git a/src/Search.php b/src/Search.php
index fc91a90..b8d83d6 100644
--- a/src/Search.php
+++ b/src/Search.php
@@ -78,6 +78,11 @@ class Search
      */
     private $searchType;
 
+    /**
+     * @var string
+     */
+    private $requestCache;
+
     /**
      * @var bool
      */
@@ -640,6 +645,31 @@ class Search
         return $this->searchType;
     }
 
+
+    /**
+     * Set request cache.
+     *
+     * @param string $requestCache
+     *
+     * @return $this
+     */
+    public function setRequestCache($requestCache)
+    {
+        $this->requestCache = $requestCache;
+
+        return $this;
+    }
+
+    /**
+     * Returns request cache.
+     *
+     * @return string
+     */
+    public function getRequestCache()
+    {
+        return $this->requestCache;
+    }
+
     /**
      * Setter for preference.
      *
@@ -691,6 +721,7 @@ class Search
             [
                 'scroll' => $this->getScroll(),
                 'search_type' => $this->getSearchType(),
+                'request_cache' => $this->getRequestCache(),
                 'preference' => $this->getPreference(),
             ]
         );
diff --git a/tests/SearchTest.php b/tests/SearchTest.php
index 4646edb..764a61b 100644
--- a/tests/SearchTest.php
+++ b/tests/SearchTest.php
@@ -104,4 +104,48 @@ class SearchTest extends \PHPUnit_Framework_TestCase
             $search->toArray()
         );
     }
+
+    /**
+     * Data provider for test testSettingQueryParams()
+     *
+     * @return array
+     */
+    public function getTestSettingQueryParamsData()
+    {
+        $cases = [];
+
+        $search = new Search();
+        $search->setSearchType('dfs_query_then_fetch');
+        $cases['Only search_type is set'] = [
+            $search,
+            [
+                'search_type' => 'dfs_query_then_fetch',
+            ],
+        ];
+
+        $search = new Search();
+        $search->setRequestCache(true);
+        $cases['Only request_cache is set'] = [
+            $search,
+            [
+                'request_cache' => true,
+            ],
+        ];
+
+        return $cases;
+    }
+
+    /**
+     * @dataProvider getTestSettingQueryParamsData()
+     *
+     * @param Search    $search
+     * @param array     $expected
+     */
+    public function testSettingQueryParams($search, $expected)
+    {
+        $this->assertEquals(
+            $expected,
+            $search->getQueryParams()
+        );
+    }
 }
-- 
GitLab