Files
kimai2/tests/Export/TimesheetExportRepositoryTest.php
Kevin Papst a4d658b821 Release 2.39 (#5604)
* prepare audit via annotation
* default calendar slot label distance of 1h
+ replace freestyle config with dropdown
* added missing return definition in callbacks
* refactor view name handling
* dispatch calendar view changes and push them into the URL to be able to reload the poage
* bump packages
* fix timezone issue in calendar sum calculation
* fixes #5618 resetRates()
* show expected daily hours in working-contract screen
2025-08-30 11:41:17 +02:00

46 lines
1.4 KiB
PHP

<?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\Export;
use App\Entity\Activity;
use App\Entity\Customer;
use App\Entity\Project;
use App\Entity\Timesheet;
use App\Export\TimesheetExportRepository;
use App\Repository\TimesheetRepository;
use PHPUnit\Framework\Attributes\CoversClass;
use PHPUnit\Framework\TestCase;
#[CoversClass(TimesheetExportRepository::class)]
class TimesheetExportRepositoryTest extends TestCase
{
public function testSetExported(): void
{
$repository = $this->createMock(TimesheetRepository::class);
$repository->expects($this->once())->method('setExported')->willReturnCallback(function (array $items): void {
self::assertCount(2, $items);
});
$sut = new TimesheetExportRepository($repository);
$sut->setExported([new Timesheet(), null, new \stdClass(), new Timesheet(), new Activity()]);
// test else for empty array
/* @phpstan-ignore argument.type */
$sut->setExported([new Customer('foo'), new Project()]);
}
public function testSetType(): void
{
$repository = $this->createMock(TimesheetRepository::class);
$sut = new TimesheetExportRepository($repository);
self::assertEquals('timesheet', $sut->getType());
}
}