[SearchEngine] Add SearchEngine admin panel tests

This commit is contained in:
Romain Neutron
2012-10-29 19:07:55 +01:00
parent 483aca4e8b
commit a27c82b0b3
2 changed files with 44 additions and 43 deletions

View File

@@ -0,0 +1,44 @@
<?php
use Alchemy\Phrasea\Application;
use Alchemy\Phrasea\SearchEngine\Phrasea\PhraseaEngine;
use Alchemy\Phrasea\SearchEngine\SphinxSearch\SphinxSearchEngine;
require_once __DIR__ . '/../../../../PhraseanetWebTestCaseAuthenticatedAbstract.class.inc';
class SearchEngineTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
{
/**
* @dataProvider getSearchEngines
*/
public function testGetConfiguration($searchEngine)
{
self::$DI['app']['phraseanet.SE'] = $searchEngine;
self::$DI['client']->request('GET', '/admin/search-engine/');
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
}
/**
* @dataProvider getSearchEngines
*/
public function testPostConfiguration($searchEngine)
{
self::$DI['app']['phraseanet.SE'] = $searchEngine;
self::$DI['client']->request('POST', '/admin/search-engine/');
$this->assertTrue(self::$DI['client']->getResponse()->isRedirect());
}
public function getSearchEngines()
{
$app = new Application('test');
return array(
array(new PhraseaEngine($app)),
array(new SphinxSearchEngine($app, 'localhost', 9306, 'localhost', 9308)),
);
}
}

View File

@@ -1,43 +0,0 @@
<?php
require_once __DIR__ . '/../../../../PhraseanetWebTestCaseAuthenticatedAbstract.class.inc';
class SphinxTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
{
protected $client;
/**
* @covers Alchemy\Phrasea\Controller\Admin\Sphinx::getConfiguration
* @covers Alchemy\Phrasea\Controller\Admin\Sphinx::connect
*/
public function testGetConfiguration()
{
$this->setAdmin(true);
self::$DI['client']->request('GET', '/admin/sphinx/configuration/');
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
}
/**
* @covers Alchemy\Phrasea\Controller\Admin\Sphinx::getConfiguration
* @expectedException \Symfony\Component\HttpKernel\Exception\HttpException
*/
public function testGetConfigurationUnauthorizedException()
{
$this->setAdmin(false);
self::$DI['client']->request('GET', '/admin/sphinx/configuration/');
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
}
/**
* @covers Alchemy\Phrasea\Controller\Admin\Sphinx::submitConfiguration
*/
public function testPostConfiguration()
{
$this->setAdmin(true);
self::$DI['client']->request('POST', '/admin/sphinx/configuration/');
$this->assertTrue(self::$DI['client']->getResponse()->isRedirect());
}
}