search and export from invoice archive (#2408)
This commit is contained in:
@@ -13,6 +13,7 @@ use App\Entity\Activity;
|
||||
use App\Entity\Customer;
|
||||
use App\Entity\Project;
|
||||
use App\Entity\Team;
|
||||
use App\Form\Model\DateRange;
|
||||
use App\Repository\Query\ActivityQuery;
|
||||
use App\Repository\Query\BaseQuery;
|
||||
use App\Repository\Query\ProjectQuery;
|
||||
@@ -63,12 +64,12 @@ class BaseQueryTest extends TestCase
|
||||
self::assertNull($sut->getSearchTerm());
|
||||
}
|
||||
|
||||
protected function assertBaseQuery(BaseQuery $sut, $orderBy = 'id')
|
||||
protected function assertBaseQuery(BaseQuery $sut, $orderBy = 'id', $order = BaseQuery::ORDER_ASC)
|
||||
{
|
||||
$this->assertPage($sut);
|
||||
$this->assertPageSize($sut);
|
||||
$this->assertOrderBy($sut, $orderBy);
|
||||
$this->assertOrder($sut);
|
||||
$this->assertOrder($sut, $order);
|
||||
$this->assertTeams($sut);
|
||||
}
|
||||
|
||||
@@ -275,4 +276,29 @@ class BaseQueryTest extends TestCase
|
||||
$this->assertEquals(99, $sut->getProject());
|
||||
$this->assertEquals([99], $sut->getProjects());
|
||||
}
|
||||
|
||||
protected function assertDateRangeTrait($sut)
|
||||
{
|
||||
self::assertNull($sut->getBegin());
|
||||
self::assertNull($sut->getEnd());
|
||||
|
||||
$dateRange = new DateRange();
|
||||
$sut->setDateRange($dateRange);
|
||||
|
||||
self::assertSame($dateRange, $sut->getDateRange());
|
||||
self::assertNull($sut->getBegin());
|
||||
self::assertNull($sut->getEnd());
|
||||
|
||||
$begin = new \DateTime('2013-11-23 13:45:07');
|
||||
$end = new \DateTime('2014-01-01 23:45:11');
|
||||
$dateRange->setBegin($begin);
|
||||
$dateRange->setEnd($end);
|
||||
|
||||
self::assertSame($begin, $sut->getDateRange()->getBegin());
|
||||
/* @phpstan-ignore-next-line */
|
||||
self::assertSame($begin, $sut->getBegin());
|
||||
self::assertSame($end, $sut->getDateRange()->getEnd());
|
||||
/* @phpstan-ignore-next-line */
|
||||
self::assertSame($end, $sut->getEnd());
|
||||
}
|
||||
}
|
||||
|
||||
45
tests/Repository/Query/InvoiceArchiveQueryTest.php
Normal file
45
tests/Repository/Query/InvoiceArchiveQueryTest.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Kimai time-tracking app.
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace App\Tests\Repository\Query;
|
||||
|
||||
use App\Entity\Customer;
|
||||
use App\Entity\Invoice;
|
||||
use App\Repository\Query\BaseQuery;
|
||||
use App\Repository\Query\InvoiceArchiveQuery;
|
||||
|
||||
/**
|
||||
* @covers \App\Repository\Query\InvoiceArchiveQuery
|
||||
*/
|
||||
class InvoiceArchiveQueryTest extends BaseQueryTest
|
||||
{
|
||||
public function testQuery()
|
||||
{
|
||||
$sut = new InvoiceArchiveQuery();
|
||||
self::assertFalse($sut->hasStatus());
|
||||
$this->assertBaseQuery($sut, 'date', BaseQuery::ORDER_DESC);
|
||||
$this->assertDateRangeTrait($sut);
|
||||
|
||||
$this->assertIsArray($sut->getCustomers());
|
||||
$this->assertEmpty($sut->getCustomers());
|
||||
self::assertFalse($sut->hasCustomers());
|
||||
|
||||
$sut->addCustomer(new Customer());
|
||||
$sut->setCustomers([new Customer()]);
|
||||
self::assertCount(2, $sut->getCustomers());
|
||||
self::assertTrue($sut->hasCustomers());
|
||||
|
||||
$sut->addStatus(Invoice::STATUS_PAID);
|
||||
$sut->setStatus([Invoice::STATUS_PENDING]);
|
||||
self::assertTrue($sut->hasStatus());
|
||||
self::assertEquals([Invoice::STATUS_PAID, Invoice::STATUS_PENDING], $sut->getStatus());
|
||||
|
||||
$this->assertResetByFormError(new InvoiceArchiveQuery(), 'date', BaseQuery::ORDER_DESC);
|
||||
}
|
||||
}
|
||||
@@ -26,6 +26,7 @@ class TimesheetQueryTest extends BaseQueryTest
|
||||
$this->assertPageSize($sut);
|
||||
$this->assertOrderBy($sut, 'begin');
|
||||
$this->assertOrder($sut, TimesheetQuery::ORDER_DESC);
|
||||
$this->assertDateRangeTrait($sut);
|
||||
|
||||
$this->assertUser($sut);
|
||||
$this->assertUsers($sut);
|
||||
|
||||
Reference in New Issue
Block a user