Release 2.45 (#5721)

Co-authored-by: Henning Klein <info@henningklein.de>
This commit is contained in:
Kevin Papst
2025-12-21 16:42:34 +01:00
committed by GitHub
parent 8c1ed68817
commit afb5a0bba4
67 changed files with 905 additions and 254 deletions

View File

@@ -34,6 +34,7 @@ class ActivityTest extends AbstractEntityTestCase
self::assertTrue($sut->isBillable());
self::assertTrue($sut->isGlobal());
self::assertNull($sut->getColor());
self::assertIsString($sut->getColorSafe());
self::assertFalse($sut->hasColor());
self::assertInstanceOf(Collection::class, $sut->getMetaFields());
self::assertEquals(0, $sut->getMetaFields()->count());
@@ -71,6 +72,9 @@ class ActivityTest extends AbstractEntityTestCase
$sut->setColor('#fffccc');
self::assertEquals('#fffccc', $sut->getColor());
self::assertTrue($sut->hasColor());
self::assertNotEmpty($sut->getColorSafe());
$sut->setName('alsjdkhfalsf');
self::assertEquals('#fffccc', $sut->getColorSafe());
$sut->setColor(Constants::DEFAULT_COLOR);
self::assertNull($sut->getColor());

View File

@@ -53,6 +53,7 @@ class CustomerTest extends AbstractEntityTestCase
self::assertNull($sut->getTimezone());
self::assertNull($sut->getColor());
self::assertEquals('#e135f4', $sut->getColorSafe());
self::assertFalse($sut->hasColor());
self::assertInstanceOf(Collection::class, $sut->getMetaFields());
self::assertEquals(0, $sut->getMetaFields()->count());

View File

@@ -38,6 +38,7 @@ class ProjectTest extends AbstractEntityTestCase
self::assertTrue($sut->isBillable());
self::assertTrue($sut->isGlobalActivities());
self::assertNull($sut->getColor());
self::assertIsString($sut->getColorSafe());
self::assertFalse($sut->hasColor());
self::assertInstanceOf(Collection::class, $sut->getMetaFields());
self::assertEquals(0, $sut->getMetaFields()->count());
@@ -60,9 +61,21 @@ class ProjectTest extends AbstractEntityTestCase
self::assertInstanceOf(Project::class, $sut->setCustomer($customer));
self::assertSame($customer, $sut->getCustomer());
self::assertFalse($sut->hasColor());
$sut->setColor('#fffccc');
self::assertEquals('#fffccc', $sut->getColor());
self::assertIsString($sut->getColorSafe());
self::assertTrue($sut->hasColor());
$sut->setColor(Constants::DEFAULT_COLOR);
self::assertNull($sut->getColor());
self::assertFalse($sut->hasColor());
self::assertInstanceOf(Project::class, $sut->setName('123456789'));
self::assertEquals('123456789', (string) $sut);
self::assertEquals('#FF9800', $sut->getColorSafe());
self::assertInstanceOf(Project::class, $sut->setOrderNumber('123456789'));
self::assertEquals('123456789', $sut->getOrderNumber());
@@ -88,15 +101,6 @@ class ProjectTest extends AbstractEntityTestCase
$sut->setInvoiceText('very long invoice text comment 12324');
self::assertEquals('very long invoice text comment 12324', $sut->getInvoiceText());
self::assertFalse($sut->hasColor());
$sut->setColor('#fffccc');
self::assertEquals('#fffccc', $sut->getColor());
self::assertTrue($sut->hasColor());
$sut->setColor(Constants::DEFAULT_COLOR);
self::assertNull($sut->getColor());
self::assertFalse($sut->hasColor());
self::assertInstanceOf(Project::class, $sut->setVisible(false));
self::assertFalse($sut->isVisible());

View File

@@ -28,9 +28,11 @@ class TagTest extends TestCase
{
$sut = new Tag();
self::assertIsString($sut->getColorSafe());
self::assertInstanceOf(Tag::class, $sut->setName('foo'));
self::assertEquals('foo', $sut->getName());
self::assertEquals('foo', (string) $sut);
self::assertEquals('#e135f4', $sut->getColorSafe());
$sut->setName(null);
self::assertNull($sut->getName());

View File

@@ -43,6 +43,7 @@ class TeamTest extends TestCase
{
$sut = new Team('foo');
self::assertNull($sut->getColor());
self::assertEquals('#e135f4', $sut->getColorSafe());
self::assertFalse($sut->hasColor());
$sut->setColor(Constants::DEFAULT_COLOR);

View File

@@ -155,26 +155,6 @@ class TimesheetTest extends TestCase
self::assertTrue($sut->isBillable());
}
public function testCategory(): void
{
$sut = new Timesheet();
self::assertInstanceOf(Timesheet::class, $sut->setCategory(Timesheet::HOLIDAY));
self::assertEquals('holiday', $sut->getCategory());
self::assertInstanceOf(Timesheet::class, $sut->setCategory(Timesheet::WORK));
self::assertEquals('work', $sut->getCategory());
self::assertInstanceOf(Timesheet::class, $sut->setCategory(Timesheet::SICKNESS));
self::assertEquals('sickness', $sut->getCategory());
self::assertInstanceOf(Timesheet::class, $sut->setCategory(Timesheet::PARENTAL));
self::assertEquals('parental', $sut->getCategory());
self::assertInstanceOf(Timesheet::class, $sut->setCategory(Timesheet::OVERTIME));
self::assertEquals('overtime', $sut->getCategory());
self::expectException(\InvalidArgumentException::class);
self::expectExceptionMessage('Invalid timesheet category "foo" given, expected one of: work, holiday, sickness, parental, overtime');
$sut->setCategory('foo');
}
public function testClone(): void
{
$sut = new Timesheet();

View File

@@ -34,6 +34,7 @@ class UserTest extends TestCase
self::assertInstanceOf(EquatableInterface::class, $user);
self::assertInstanceOf(UserInterface::class, $user);
self::assertInstanceOf(ArrayCollection::class, $user->getPreferences());
self::assertEquals([], $user->getVisiblePreferences());
self::assertNull($user->getTitle());
self::assertNull($user->getAvatar());
self::assertNull($user->getAlias());
@@ -186,9 +187,13 @@ class UserTest extends TestCase
self::assertNull($sut->getColor());
self::assertFalse($sut->hasColor());
$sut->setUsername('foo test 123');
self::assertEquals('#a972c9', $sut->getColorSafe());
$sut->setColor('#000000');
self::assertEquals('#000000', $sut->getColor());
self::assertTrue($sut->hasColor());
self::assertEquals('#000000', $sut->getColorSafe());
}
public function testWizards(): void
@@ -268,6 +273,19 @@ class UserTest extends TestCase
$prefs = $user->getPreferences();
self::assertCount(3, $prefs);
$preference1 = new UserPreference('_aaaaa', 'bbbbb');
$user->addPreference($preference1);
$preference2 = new UserPreference('AAAAAA', 'CCCCCC');
$user->addPreference($preference2);
$prefs = $user->getPreferences();
self::assertCount(5, $prefs);
$visiblePrefs = $user->getVisiblePreferences();
self::assertCount(3, $visiblePrefs); // export_decimal and _aaaaa is skipped
self::assertEquals([$user->getPreference('test'), $user->getPreference('test2'), $preference2], $visiblePrefs);
self::assertInstanceOf(UserPreference::class, $prefs[0]);
self::assertEquals('test', $prefs[0]->getName());