Files
Phraseanet/tests/Alchemy/Tests/Phrasea/Controller/Prod/QueryTest.php
jygaulier a70bf2fc70 PHRAS-1304_AUTO-COMPLETION_MASTER (#2061)
* PHRAS-1304_AUTO-COMPLETION_MASTER
ported from 4.0

* PHRAS-1304_AUTO-COMPLETION_MASTER
fix

* PHRAS-1304_AUTO-COMPLETION_MASTER
fix

* PHRAS-1304_AUTO-COMPLETION_MASTER
bump php version to 5.5.31 (5.5.21 is obsolete in cicleci)

* PHRAS-1304_AUTO-COMPLETION_MASTER
bump php version to 5.5.31 : php.ini moved in circelci

* PHRAS-1304_AUTO-COMPLETION_MASTER
add zmq & date to php for circleci

* PHRAS-1304_AUTO-COMPLETION_MASTER
add zmq

* PHRAS-1304_AUTO-COMPLETION_MASTER
bump amqp

* PHRAS-1304_AUTO-COMPLETION_MASTER
downgrade amqp to 1.2 to test compilation against old librabbit 0.4 (ubuntu)

* PHRAS-1304_AUTO-COMPLETION_MASTER
add amqp.so to php.ini, (re)bump amqp to 1.6

* PHRAS-1304_AUTO-COMPLETION_MASTER
build rabittmq from git

* PHRAS-1304_AUTO-COMPLETION_MASTER
build rabittmq from git again

* PHRAS-1304_AUTO-COMPLETION_MASTER
build rabittmq from git again and again

* PHRAS-1304_AUTO-COMPLETION_MASTER
fix test on media rotation 600*400 -> 400*599 !!!

* PHRAS-1304_AUTO-COMPLETION_MASTER
restore facebook sdk to 4.0.1 due to mistake

* PHRAS-1304_AUTO-COMPLETION_MASTER
deleted unwanted file
2017-02-06 18:26:56 +01:00

66 lines
2.1 KiB
PHP

<?php
namespace Alchemy\Tests\Phrasea\Controller\Prod;
use Alchemy\Phrasea\SearchEngine\SearchEngineOptions;
use Prophecy\Argument;
/**
* @group functional
* @group legacy
* @group authenticated
* @group web
*/
class QueryTest extends \PhraseanetAuthenticatedWebTestCase
{
public function testQuery()
{
$route = '/prod/query/';
$userManipulator = $this->getMockBuilder('Alchemy\Phrasea\Model\Manipulator\UserManipulator')
->setConstructorArgs([
self::$DI['app']['model.user-manager'],
self::$DI['app']['auth.password-encoder'],
self::$DI['app']['geonames.connector'],
self::$DI['app']['repo.users'],
self::$DI['app']['random.low'],
self::$DI['app']['dispatcher'],
])
->setMethods(['logQuery'])
->getMock();
self::$DI['app']['manipulator.user'] = $userManipulator;
$userManipulator->expects($this->once())->method('logQuery');
$client = $this->getClient();
$client->request('POST', $route);
$response = $client->getResponse();
$this->assertEquals('application/json', $response->headers->get('Content-type'));
$data = json_decode($response->getContent(), true);
$this->assertInternalType('array', $data);
}
public function testQueryAnswerTrain()
{
$app = $this->mockElasticsearchResult(self::$DI['record_2']);
$this->authenticate($app);
$options = new SearchEngineOptions();
$searchableBasesIds = $app->getAclForUser($app->getAuthenticatedUser())->getSearchableBasesIds();
$options->onBasesIds($searchableBasesIds);
$serializedOptions = $options->serialize();
$response = $this->request('POST', '/prod/query/answer-train/', [
'options_serial' => $serializedOptions,
'pos' => 0,
'query' => ''
]);
$this->assertTrue($response->isOk());
$datas = (array) json_decode($response->getContent());
$this->assertArrayHasKey('current', $datas);
unset($response, $datas);
}
}