query widget data for user (#1917)
This commit is contained in:
@@ -9,6 +9,8 @@
|
||||
|
||||
namespace App\Tests\Widget\Type;
|
||||
|
||||
use App\Widget\Type\SimpleStatisticChart;
|
||||
|
||||
/**
|
||||
* @covers \App\Widget\Type\SimpleStatisticChart
|
||||
*/
|
||||
@@ -17,6 +19,7 @@ abstract class AbstractSimpleStatisticsWidgetTypeTest extends AbstractWidgetType
|
||||
public function testData()
|
||||
{
|
||||
$sut = $this->createSut();
|
||||
self::assertInstanceOf(SimpleStatisticChart::class, $sut);
|
||||
|
||||
$this->expectException(\InvalidArgumentException::class);
|
||||
$this->expectExceptionMessage('Cannot set data on instances of SimpleStatisticChart');
|
||||
|
||||
@@ -9,10 +9,12 @@
|
||||
|
||||
namespace App\Tests\Widget\Type;
|
||||
|
||||
use App\Entity\User;
|
||||
use App\Repository\TimesheetRepository;
|
||||
use App\Widget\Type\AbstractWidgetType;
|
||||
use App\Widget\Type\Counter;
|
||||
use App\Widget\Type\SimpleWidget;
|
||||
use DateTime;
|
||||
|
||||
/**
|
||||
* @covers \App\Widget\Type\Counter
|
||||
@@ -29,6 +31,41 @@ class CounterTest extends AbstractSimpleStatisticsWidgetTypeTest
|
||||
return $sut;
|
||||
}
|
||||
|
||||
public function testQueryWithUser()
|
||||
{
|
||||
$user = new User();
|
||||
$user->setAlias('foo');
|
||||
|
||||
$repository = $this->createMock(TimesheetRepository::class);
|
||||
$repository->expects($this->once())->method('getStatistic')->willReturnCallback(function (string $type, ?DateTime $begin, ?DateTime $end, ?User $user) {
|
||||
self::assertEquals($type, 'active');
|
||||
self::assertNull($begin);
|
||||
self::assertNull($end);
|
||||
self::assertNull($user);
|
||||
});
|
||||
$sut = new Counter($repository);
|
||||
$sut->setQuery(TimesheetRepository::STATS_QUERY_ACTIVE);
|
||||
$sut->setUser($user);
|
||||
$sut->getData([]);
|
||||
|
||||
$user = new User();
|
||||
$user->setAlias('bar');
|
||||
|
||||
$repository = $this->createMock(TimesheetRepository::class);
|
||||
$repository->expects($this->once())->method('getStatistic')->willReturnCallback(function (string $type, ?DateTime $begin, ?DateTime $end, ?User $user) {
|
||||
self::assertEquals($type, 'active');
|
||||
self::assertNull($begin);
|
||||
self::assertNull($end);
|
||||
self::assertNotNull($user);
|
||||
self::assertEquals('bar', $user->getAlias());
|
||||
});
|
||||
$sut = new Counter($repository);
|
||||
$sut->setQuery(TimesheetRepository::STATS_QUERY_ACTIVE);
|
||||
$sut->setUser($user);
|
||||
$sut->setQueryWithUser(true);
|
||||
$sut->getData([]);
|
||||
}
|
||||
|
||||
public function getDefaultOptions(): array
|
||||
{
|
||||
return ['dataType' => 'int'];
|
||||
|
||||
Reference in New Issue
Block a user