default value for billable flag and support in batch update (#2851)

This commit is contained in:
Kevin Papst
2021-10-13 15:49:20 +02:00
committed by GitHub
parent 9226daa891
commit 6b066046c6
12 changed files with 92 additions and 51 deletions

View File

@@ -140,6 +140,9 @@ class AppExtensionTest extends TestCase
'templates/invoice/renderer/',
],
'kimai.defaults' => [
'timesheet' => [
'billable' => true,
],
'customer' => [
'timezone' => null,
'country' => 'DE',

View File

@@ -395,6 +395,9 @@ class ConfigurationTest extends TestCase
'dashboard' => [],
'widgets' => [],
'defaults' => [
'timesheet' => [
'billable' => true,
],
'customer' => [
'timezone' => null,
'country' => 'DE',

View File

@@ -32,6 +32,7 @@ class TimesheetMultiUpdateDTOTest extends TestCase
self::assertNull($sut->getAction());
self::assertNull($sut->isExported());
self::assertNull($sut->isBillable());
self::assertNull($sut->getProject());
self::assertNull($sut->getAction());
self::assertNull($sut->getCustomer());
@@ -70,37 +71,44 @@ class TimesheetMultiUpdateDTOTest extends TestCase
self::assertInstanceOf(TimesheetMultiUpdateDTO::class, $sut->setEntities($entities));
self::assertEquals($entities, $sut->getEntities());
self::assertInstanceOf(TimesheetMultiUpdateDTO::class, $sut->setExported(true));
self::assertNull($sut->isExported());
$sut->setExported(true);
self::assertTrue($sut->isExported());
self::assertInstanceOf(TimesheetMultiUpdateDTO::class, $sut->setExported(false));
$sut->setExported(false);
self::assertFalse($sut->isExported());
self::assertInstanceOf(TimesheetMultiUpdateDTO::class, $sut->setTags(['foo', '0815']));
self::assertNull($sut->isBillable());
$sut->setBillable(true);
self::assertTrue($sut->isBillable());
$sut->setExported(false);
self::assertFalse($sut->isExported());
$sut->setTags(['foo', '0815']);
self::assertEquals(['foo', '0815'], $sut->getTags());
self::assertInstanceOf(TimesheetMultiUpdateDTO::class, $sut->setReplaceTags(true));
$sut->setReplaceTags(true);
self::assertTrue($sut->isReplaceTags());
$user = (new User())->setUsername('sdfsdfsd');
self::assertInstanceOf(TimesheetMultiUpdateDTO::class, $sut->setUser($user));
$sut->setUser($user);
self::assertSame($user, $sut->getUser());
$activity = (new Activity())->setName('sdfsdfsd');
self::assertInstanceOf(TimesheetMultiUpdateDTO::class, $sut->setActivity($activity));
$sut->setActivity($activity);
self::assertSame($activity, $sut->getActivity());
$project = (new Project())->setName('sdfsdfsd');
self::assertInstanceOf(TimesheetMultiUpdateDTO::class, $sut->setProject($project));
$sut->setProject($project);
self::assertSame($project, $sut->getProject());
$customer = (new Customer())->setName('sdfsdfsd');
self::assertInstanceOf(TimesheetMultiUpdateDTO::class, $sut->setCustomer($customer));
$sut->setCustomer($customer);
self::assertSame($customer, $sut->getCustomer());
self::assertInstanceOf(TimesheetMultiUpdateDTO::class, $sut->setFixedRate(12.78));
$sut->setFixedRate(12.78);
self::assertEquals(12.78, $sut->getFixedRate());
self::assertInstanceOf(TimesheetMultiUpdateDTO::class, $sut->setHourlyRate(123.45));
$sut->setHourlyRate(123.45);
self::assertEquals(123.45, $sut->getHourlyRate());
self::assertInstanceOf(TimesheetMultiUpdateDTO::class, $sut->setUpdateMeta(['foo', 'bar']));

View File

@@ -44,10 +44,8 @@ class TimesheetMultiUpdateValidatorTest extends ConstraintValidatorTestCase
$activity->setProject($project1);
$timesheet = new TimesheetMultiUpdateDTO();
$timesheet
->setActivity($activity)
->setProject($project2)
;
$timesheet->setActivity($activity);
$timesheet->setProject($project2);
$this->validator->validate($timesheet, new TimesheetMultiUpdateConstraint(['message' => 'myMessage']));
@@ -90,10 +88,8 @@ class TimesheetMultiUpdateValidatorTest extends ConstraintValidatorTestCase
public function testHourlyRateAndFixedRateInParallelAreNotAllowed()
{
$timesheet = new TimesheetMultiUpdateDTO();
$timesheet
->setHourlyRate(10.12)
->setFixedRate(123.45)
;
$timesheet->setHourlyRate(10.12);
$timesheet->setFixedRate(123.45);
$this->validator->validate($timesheet, new TimesheetMultiUpdateConstraint(['message' => 'myMessage']));
@@ -118,10 +114,8 @@ class TimesheetMultiUpdateValidatorTest extends ConstraintValidatorTestCase
$activity->setProject($project);
$timesheet = new TimesheetMultiUpdateDTO();
$timesheet
->setActivity($activity)
->setProject($project)
;
$timesheet->setActivity($activity);
$timesheet->setProject($project);
$this->validator->validate($timesheet, new TimesheetMultiUpdateConstraint(['message' => 'myMessage']));