diff --git a/.travis.yml b/.travis.yml index 790412a9b9..cb556c4ae8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,6 +14,8 @@ before_script: - echo '' > ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini - sh -c 'if [ $(php -r "echo PHP_MINOR_VERSION;") -le 4 ]; then echo "extension = apc.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi;' - sh -c 'if [ $(php -r "echo PHP_MINOR_VERSION;") -le 4 ]; then pecl install redis; fi;' + - echo 'extension="memcache.so"' > ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/memcache.ini + - echo 'extension="memcached.so"' > ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/memcached.ini - bower install - composer self-update - composer install --dev --prefer-source diff --git a/lib/classes/databox.php b/lib/classes/databox.php index 2532c39d6c..7fc71ef3a0 100644 --- a/lib/classes/databox.php +++ b/lib/classes/databox.php @@ -169,12 +169,15 @@ class databox extends base public function set_viewname($viewname) { + $this->load(); + $sql = 'UPDATE sbas SET viewname = :viewname WHERE sbas_id = :sbas_id'; $stmt = $this->app['phraseanet.appbox']->get_connection()->prepare($sql); $stmt->execute(array(':viewname' => $viewname, ':sbas_id' => $this->id)); $stmt->closeCursor(); + $this->delete_data_from_cache(static::CACHE_BASE_DATABOX); $this->app['phraseanet.appbox']->delete_data_from_cache(appbox::CACHE_LIST_BASES); cache_databox::update($this->app, $this->id, 'structure'); diff --git a/tests/Alchemy/Tests/Phrasea/Cache/ApcCacheTest.php b/tests/Alchemy/Tests/Phrasea/Cache/ApcCacheTest.php index 468898af4a..86627ecabd 100644 --- a/tests/Alchemy/Tests/Phrasea/Cache/ApcCacheTest.php +++ b/tests/Alchemy/Tests/Phrasea/Cache/ApcCacheTest.php @@ -13,9 +13,13 @@ class ApcCacheTest extends \PHPUnit_Framework_TestCase public function setUp() { - if ( ! extension_loaded('apc') || ! ini_get('apc.enable_cli')) { + if (!extension_loaded('apc')) { $this->markTestSkipped('Apc is not installed'); } + if (!ini_get('apc.enable_cli')) { + $this->markTestSkipped('Apc is not loaded in CLI'); + } + $this->object = new ApcCache; } diff --git a/tests/Alchemy/Tests/Phrasea/Cache/RedisCacheTest.php b/tests/Alchemy/Tests/Phrasea/Cache/RedisCacheTest.php index 7b49a4c211..2a3ca54a8e 100644 --- a/tests/Alchemy/Tests/Phrasea/Cache/RedisCacheTest.php +++ b/tests/Alchemy/Tests/Phrasea/Cache/RedisCacheTest.php @@ -17,7 +17,7 @@ class RedisTest extends \PhraseanetPHPUnitAbstract $ok = false; } if (! $ok) { - $this->markTestSkipped('The ' . __CLASS__ . ' requires the use of redis'); + $this->markTestSkipped('The ' . __CLASS__ . ' cannot connect to redis'); } } else { $this->markTestSkipped('The ' . __CLASS__ . ' requires the use of redis'); diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Admin/DataboxTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Admin/DataboxTest.php index f0dd642013..24e6dc876c 100644 --- a/tests/Alchemy/Tests/Phrasea/Controller/Admin/DataboxTest.php +++ b/tests/Alchemy/Tests/Phrasea/Controller/Admin/DataboxTest.php @@ -453,6 +453,11 @@ class DataboxTest extends \PhraseanetWebTestCaseAuthenticatedAbstract { $this->setAdmin(true); + $databox = self::$DI['app']['phraseanet.appbox']->get_databox(self::$DI['collection']->get_sbas_id()); + $databox->set_viewname('old_databox_name'); + + $this->assertEquals('old_databox_name', $databox->get_viewname()); + $this->XMLHTTPRequest('POST', '/admin/databox/' . self::$DI['collection']->get_sbas_id() . '/view-name/', array( 'viewname' => 'new_databox_name' )); @@ -464,7 +469,7 @@ class DataboxTest extends \PhraseanetWebTestCaseAuthenticatedAbstract $this->assertTrue(is_object($content)); $this->assertObjectHasAttribute('sbas_id', $content, $response->getContent()); - $databox = new \databox(self::$DI['app'], self::$DI['collection']->get_sbas_id()); + $databox = self::$DI['app']['phraseanet.appbox']->get_databox(self::$DI['collection']->get_sbas_id()); $this->assertEquals('new_databox_name', $databox->get_viewname()); }