Store comment sorting direction in user metadata

This commit is contained in:
Frederic Guillot
2016-08-21 20:36:16 -04:00
parent 8e83e404fb
commit 1d16a53c48
13 changed files with 304 additions and 73 deletions

View File

@@ -83,15 +83,6 @@ class UserSessionTest extends Base
$this->assertFalse($us->isAdmin());
}
public function testCommentSorting()
{
$us = new UserSession($this->container);
$this->assertEquals('ASC', $us->getCommentSorting());
$us->setCommentSorting('DESC');
$this->assertEquals('DESC', $us->getCommentSorting());
}
public function testBoardCollapseMode()
{
$us = new UserSession($this->container);

View File

@@ -0,0 +1,127 @@
<?php
use Kanboard\Decorator\MetadataCacheDecorator;
require_once __DIR__.'/../Base.php';
class MetadataCacheDecoratorTest extends Base
{
protected $cachePrefix = 'cache_prefix';
protected $entityId = 123;
/**
* @var \PHPUnit_Framework_MockObject_MockObject
*/
protected $cacheMock;
/**
* @var \PHPUnit_Framework_MockObject_MockObject
*/
protected $metadataModelMock;
/**
* @var MetadataCacheDecorator
*/
protected $metadataCacheDecorator;
public function setUp()
{
parent::setUp();
$this->cacheMock = $this
->getMockBuilder('\Kanboard\Core\Cache\MemoryCache')
->setMethods(array(
'set',
'get',
))
->getMock();
$this->metadataModelMock = $this
->getMockBuilder('\Kanboard\Model\UserMetadataModel')
->setConstructorArgs(array($this->container))
->setMethods(array(
'getAll',
'save',
))
->getMock()
;
$this->metadataCacheDecorator = new MetadataCacheDecorator(
$this->cacheMock,
$this->metadataModelMock,
$this->cachePrefix,
$this->entityId
);
}
public function testSet()
{
$this->cacheMock
->expects($this->once())
->method('set');
$this->metadataModelMock
->expects($this->at(0))
->method('save');
$this->metadataModelMock
->expects($this->at(1))
->method('getAll')
->with($this->entityId)
;
$this->metadataCacheDecorator->set('key', 'value');
}
public function testGetWithCache()
{
$this->cacheMock
->expects($this->once())
->method('get')
->with($this->cachePrefix.$this->entityId)
->will($this->returnValue(array('key' => 'foobar')))
;
$this->assertEquals('foobar', $this->metadataCacheDecorator->get('key', 'default'));
}
public function testGetWithCacheAndDefaultValue()
{
$this->cacheMock
->expects($this->once())
->method('get')
->with($this->cachePrefix.$this->entityId)
->will($this->returnValue(array('key1' => 'foobar')))
;
$this->assertEquals('default', $this->metadataCacheDecorator->get('key', 'default'));
}
public function testGetWithoutCache()
{
$this->cacheMock
->expects($this->at(0))
->method('get')
->with($this->cachePrefix.$this->entityId)
->will($this->returnValue(null))
;
$this->cacheMock
->expects($this->at(1))
->method('set')
->with(
$this->cachePrefix.$this->entityId,
array('key' => 'something')
)
;
$this->metadataModelMock
->expects($this->once())
->method('getAll')
->with($this->entityId)
->will($this->returnValue(array('key' => 'something')))
;
$this->assertEquals('something', $this->metadataCacheDecorator->get('key', 'default'));
}
}