Release 2.0.26 (#4087)
- setting "rounding days" not required - developer: added user pref for public holiday group (to be used by plugins) - developer: added WorkingTimeYearEvent (to be used by plugins) - user pref: cleanup work contract form and support more fields (to be used by plugins) - code cleanup - bump theme and composer packages
This commit is contained in:
@@ -82,6 +82,7 @@ class UserTest extends TestCase
|
||||
self::assertEquals(0, $user->getWorkHoursSunday());
|
||||
self::assertEquals(0, $user->getHolidaysPerYear());
|
||||
self::assertFalse($user->hasWorkHourConfiguration());
|
||||
self::assertNull($user->getPublicHolidayGroup());
|
||||
}
|
||||
|
||||
public function testWorkContract(): void
|
||||
@@ -115,6 +116,12 @@ class UserTest extends TestCase
|
||||
self::assertEquals(7600, $user->getWorkHoursForDay(new \DateTime('2023-05-12 12:00:00', new \DateTimeZone('Europe/Berlin'))));
|
||||
self::assertEquals(7700, $user->getWorkHoursForDay(new \DateTime('2023-05-13 12:00:00', new \DateTimeZone('Europe/Berlin'))));
|
||||
self::assertEquals(7800, $user->getWorkHoursForDay(new \DateTime('2023-05-14 12:00:00', new \DateTimeZone('Europe/Berlin'))));
|
||||
|
||||
$user->setPublicHolidayGroup('10');
|
||||
self::assertEquals('10', $user->getPublicHolidayGroup());
|
||||
|
||||
$user->setPublicHolidayGroup('DE-NRW');
|
||||
self::assertEquals('DE-NRW', $user->getPublicHolidayGroup());
|
||||
}
|
||||
|
||||
public function testColor(): void
|
||||
|
||||
31
tests/Event/WorkingTimeYearEventTest.php
Normal file
31
tests/Event/WorkingTimeYearEventTest.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?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\Event;
|
||||
|
||||
use App\Entity\User;
|
||||
use App\Event\WorkingTimeYearEvent;
|
||||
use App\WorkingTime\Model\Year;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
/**
|
||||
* @covers \App\Event\WorkingTimeYearEvent
|
||||
*/
|
||||
class WorkingTimeYearEventTest extends TestCase
|
||||
{
|
||||
public function testGetter(): void
|
||||
{
|
||||
$user = new User();
|
||||
$date = new \DateTime('2023-02-10');
|
||||
$year = new Year($date, $user);
|
||||
$sut = new WorkingTimeYearEvent($year);
|
||||
|
||||
self::assertSame($year, $sut->getYear());
|
||||
}
|
||||
}
|
||||
@@ -30,7 +30,7 @@ class MonthTest extends TestCase
|
||||
$month = new Month($date);
|
||||
self::assertEquals(sprintf('2020-%s-25', $monthKey), $month->getMonth()->format('Y-m-d'));
|
||||
self::assertCount($days, $month->getDays());
|
||||
self::assertTrue($month->isLocked());
|
||||
self::assertFalse($month->isLocked());
|
||||
self::assertEquals(0, $month->getActualTime());
|
||||
self::assertEquals(0, $month->getExpectedTime(new \DateTimeImmutable('2035-01-02')));
|
||||
self::assertNull($month->getLockDate());
|
||||
@@ -51,6 +51,26 @@ class MonthTest extends TestCase
|
||||
self::assertEquals($expected, $day->getWorkingTime()->getExpectedTime());
|
||||
self::assertEquals($duration, $day->getWorkingTime()->getActualTime());
|
||||
}
|
||||
self::assertFalse($month->isLocked());
|
||||
|
||||
foreach ($month->getDays() as $day) {
|
||||
$workingTime = $day->getWorkingTime();
|
||||
self::assertNotNull($workingTime);
|
||||
$workingTime->setApprovedAt(new \DateTimeImmutable());
|
||||
}
|
||||
self::assertTrue($month->isLocked());
|
||||
|
||||
$day = $month->getDays()[5];
|
||||
$wt = $day->getWorkingTime();
|
||||
self::assertNotNull($wt);
|
||||
$day->setWorkingTime(null);
|
||||
self::assertFalse($month->isLocked());
|
||||
|
||||
$day->setWorkingTime($wt);
|
||||
self::assertTrue($month->isLocked());
|
||||
|
||||
$wt->setApprovedAt(null);
|
||||
self::assertFalse($month->isLocked());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6582,11 +6582,6 @@ parameters:
|
||||
count: 1
|
||||
path: Form/Type/TypeTestModel.php
|
||||
|
||||
-
|
||||
message: "#^Method App\\\\Tests\\\\Form\\\\Type\\\\TypeTestModel\\:\\:__set\\(\\) has no return type specified\\.$#"
|
||||
count: 1
|
||||
path: Form/Type/TypeTestModel.php
|
||||
|
||||
-
|
||||
message: "#^Method App\\\\Tests\\\\Form\\\\Type\\\\TypeTestModel\\:\\:__set\\(\\) has parameter \\$name with no type specified\\.$#"
|
||||
count: 1
|
||||
|
||||
Reference in New Issue
Block a user