store search in session (#2735)
* allow to detect used query filters * allow to set label in action buttons * allow to reset last search from session * migrate invoice archive to new search system * display number of used search filters
This commit is contained in:
@@ -36,6 +36,7 @@ class BaseQueryTest extends TestCase
|
||||
{
|
||||
$this->assertBaseQuery(new BaseQuery());
|
||||
$this->assertResetByFormError(new BaseQuery());
|
||||
$this->assertFilter(new BaseQuery());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -121,6 +122,36 @@ class BaseQueryTest extends TestCase
|
||||
self::assertSame($team, $sut->getTeams()[0]);
|
||||
}
|
||||
|
||||
protected function assertFilter(BaseQuery $sut)
|
||||
{
|
||||
self::assertEquals(0, $sut->countFilter());
|
||||
$sut->setSearchTerm(new SearchTerm('sdfsdf'));
|
||||
self::assertEquals(1, $sut->countFilter());
|
||||
$sut->setPageSize(22);
|
||||
self::assertEquals(2, $sut->countFilter());
|
||||
$sut->setPage(2);
|
||||
self::assertEquals(2, $sut->countFilter());
|
||||
$sut->setOrderBy('foo');
|
||||
self::assertEquals(3, $sut->countFilter());
|
||||
$sut->setOrder(BaseQuery::ORDER_DESC);
|
||||
self::assertEquals(4, $sut->countFilter());
|
||||
$sut->setOrder(BaseQuery::ORDER_ASC);
|
||||
self::assertEquals(3, $sut->countFilter());
|
||||
$sut->setOrder(BaseQuery::ORDER_DESC);
|
||||
self::assertEquals(4, $sut->countFilter());
|
||||
|
||||
self::assertTrue($sut->matchesFilter('page', 2));
|
||||
self::assertFalse($sut->isDefaultFilter('page'));
|
||||
|
||||
$sut->resetFilter();
|
||||
self::assertEquals(0, $sut->countFilter());
|
||||
|
||||
self::assertEquals(1, $sut->getPage());
|
||||
self::assertTrue($sut->matchesFilter('page', 1));
|
||||
self::assertTrue($sut->isDefaultFilter('page'));
|
||||
self::assertFalse($sut->isDefaultFilter('foo'));
|
||||
}
|
||||
|
||||
protected function assertBookmark(BaseQuery $sut)
|
||||
{
|
||||
$bookmark = new Bookmark();
|
||||
@@ -129,6 +160,9 @@ class BaseQueryTest extends TestCase
|
||||
$sut->setBookmark($bookmark);
|
||||
self::assertSame($bookmark, $sut->getBookmark());
|
||||
self::assertTrue($sut->hasBookmark());
|
||||
self::assertFalse($sut->isBookmarkSearch());
|
||||
$sut->flagAsBookmarkSearch();
|
||||
self::assertTrue($sut->isBookmarkSearch());
|
||||
}
|
||||
|
||||
protected function assertPage(BaseQuery $sut)
|
||||
|
||||
@@ -24,14 +24,14 @@ class ExportQueryTest extends TimesheetQueryTest
|
||||
$this->assertPage($sut);
|
||||
$this->assertPageSize($sut);
|
||||
$this->assertOrderBy($sut, 'begin');
|
||||
$this->assertOrder($sut, ExportQuery::ORDER_DESC);
|
||||
$this->assertOrder($sut, ExportQuery::ORDER_ASC);
|
||||
|
||||
$this->assertUser($sut);
|
||||
$this->assertCustomer($sut);
|
||||
$this->assertProject($sut);
|
||||
$this->assertActivity($sut);
|
||||
$this->assertState($sut);
|
||||
$this->assertExported($sut);
|
||||
$this->assertStateWith($sut, ExportQuery::STATE_STOPPED);
|
||||
$this->assertExportedWith($sut, ExportQuery::STATE_NOT_EXPORTED);
|
||||
$this->assertRenderer($sut);
|
||||
$this->assertMarkAsExported($sut);
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ class InvoiceQueryTest extends TimesheetQueryTest
|
||||
$this->assertPage($sut);
|
||||
$this->assertPageSize($sut);
|
||||
$this->assertOrderBy($sut, 'begin');
|
||||
$this->assertOrder($sut, InvoiceQuery::ORDER_DESC);
|
||||
$this->assertOrder($sut, InvoiceQuery::ORDER_ASC);
|
||||
|
||||
$this->assertUser($sut);
|
||||
$this->assertCustomer($sut);
|
||||
@@ -35,7 +35,7 @@ class InvoiceQueryTest extends TimesheetQueryTest
|
||||
self::assertFalse($sut->isRunning());
|
||||
self::assertTrue($sut->isStopped());
|
||||
|
||||
$this->assertExported($sut);
|
||||
$this->assertExportedWith($sut, InvoiceQuery::STATE_NOT_EXPORTED);
|
||||
$this->assertMarkAsExported($sut);
|
||||
$this->assertModifiedAfter($sut);
|
||||
|
||||
|
||||
@@ -98,8 +98,13 @@ class TimesheetQueryTest extends BaseQueryTest
|
||||
self::assertFalse($sut->isRunning());
|
||||
self::assertFalse($sut->isStopped());
|
||||
|
||||
$this->assertStateWith($sut, TimesheetQuery::STATE_ALL);
|
||||
}
|
||||
|
||||
protected function assertStateWith(TimesheetQuery $sut, int $defaultState)
|
||||
{
|
||||
self::assertInstanceOf(TimesheetQuery::class, $sut->setState(PHP_INT_MAX));
|
||||
self::assertEquals(TimesheetQuery::STATE_ALL, $sut->getState());
|
||||
self::assertEquals($defaultState, $sut->getState());
|
||||
|
||||
$sut->setState(TimesheetQuery::STATE_STOPPED);
|
||||
self::assertEquals(TimesheetQuery::STATE_STOPPED, $sut->getState());
|
||||
@@ -121,8 +126,13 @@ class TimesheetQueryTest extends BaseQueryTest
|
||||
self::assertFalse($sut->isExported());
|
||||
self::assertFalse($sut->isNotExported());
|
||||
|
||||
$this->assertExportedWith($sut, TimesheetQuery::STATE_ALL);
|
||||
}
|
||||
|
||||
protected function assertExportedWith(TimesheetQuery $sut, int $defaultState)
|
||||
{
|
||||
self::assertInstanceOf(TimesheetQuery::class, $sut->setExported(PHP_INT_MAX));
|
||||
self::assertEquals(TimesheetQuery::STATE_ALL, $sut->getExported());
|
||||
self::assertEquals($defaultState, $sut->getExported());
|
||||
|
||||
$sut->setExported(TimesheetQuery::STATE_EXPORTED);
|
||||
self::assertEquals(TimesheetQuery::STATE_EXPORTED, $sut->getExported());
|
||||
|
||||
Reference in New Issue
Block a user