Fix #1524 : API search query is discarded with GET method

This commit is contained in:
Romain Neutron
2013-10-10 09:51:26 +02:00
parent d296237154
commit e87aa5afb3
2 changed files with 24 additions and 1 deletions

View File

@@ -890,7 +890,7 @@ class API_V1_adapter extends API_V1_Abstract
$offsetStart = (int) ($request->get('offset_start') ? : 0); $offsetStart = (int) ($request->get('offset_start') ? : 0);
$perPage = (int) $request->get('per_page') ? : 10; $perPage = (int) $request->get('per_page') ? : 10;
$query = (string) $request->request->get('query'); $query = (string) $request->get('query');
$this->app['phraseanet.SE']->setOptions($options); $this->app['phraseanet.SE']->setOptions($options);
$this->app['phraseanet.SE']->resetCache(); $this->app['phraseanet.SE']->resetCache();

View File

@@ -924,6 +924,29 @@ abstract class ApiAbstract extends \PhraseanetWebTestCaseAbstract
} }
} }
/**
* @dataProvider provideAvailableSearchMethods
*/
public function testRecordsSearchRouteWithQuery($method)
{
$this->setToken(self::$token);
self::$DI['app']['phraseanet.SE'] = $this->getMock('Alchemy\Phrasea\SearchEngine\SearchEngineInterface');
self::$DI['app']['phraseanet.SE']->expects($this->once())
->method('query')
->with('koala', 0, 10)
->will($this->returnValue(
$this->getMockBuilder('Alchemy\Phrasea\SearchEngine\SearchEngineResult')
->disableOriginalConstructor()
->getMock()
));
$crawler = self::$DI['client']->request($method, '/api/v1/records/search/', $this->getParameters(array('query' => 'koala')), array(), array('HTTP_Accept' => $this->getAcceptMimeType()));
}
public function provideAvailableSearchMethods()
{
return array(array('POST'), array('GET'));
}
/** /**
* @covers \API_V1_adapter::caption_records * @covers \API_V1_adapter::caption_records
*/ */