Budget graph in project details (#3406)

* do not copy description if restarting via calendar
* added support to display negative durations
* fix charts for larger numbers
This commit is contained in:
Kevin Papst
2022-07-13 17:21:36 +02:00
committed by GitHub
parent 245dd47082
commit 0dba83d8e9
26 changed files with 400 additions and 80 deletions

View File

@@ -32,6 +32,7 @@ abstract class AbstractTimesheetCountedStatisticTest extends TestCase
self::assertSame(0, $sut->getDurationExported());
self::assertSame(0.0, $sut->getRateExported());
self::assertSame(0.0, $sut->getInternalRateExported());
self::assertSame(0, $sut->getCounterExported());
$json = $sut->jsonSerialize();
@@ -61,12 +62,13 @@ abstract class AbstractTimesheetCountedStatisticTest extends TestCase
self::assertInstanceOf(TimesheetCountedStatistic::class, $sut->setRecordDuration(21));
self::assertInstanceOf(TimesheetCountedStatistic::class, $sut->setRecordAmount(5));
$sut->setRecordAmountBillable(15);
self::assertInstanceOf(TimesheetCountedStatistic::class, $sut->setRecordInternalRate(99.09));
$sut->setInternalRate(99.09);
$sut->setDurationBillableExported(199);
$sut->setDurationExported(299);
$sut->setRateExported(456.48);
$sut->setInternalRateExported(27.15);
$sut->setCounterExported(538);
self::assertSame(23.97, $sut->getRecordRate());
self::assertSame(21, $sut->getRecordDuration());
@@ -78,6 +80,7 @@ abstract class AbstractTimesheetCountedStatisticTest extends TestCase
self::assertSame(299, $sut->getDurationExported());
self::assertSame(456.48, $sut->getRateExported());
self::assertSame(27.15, $sut->getInternalRateExported());
self::assertSame(538, $sut->getCounterExported());
self::assertSame(21, $sut->getValue());
@@ -106,10 +109,11 @@ abstract class AbstractTimesheetCountedStatisticTest extends TestCase
$sut->setRecordRate(23.97);
$sut->setRecordDuration(21);
$sut->setRecordAmount(5);
$sut->setRecordInternalRate(99.09);
$sut->setInternalRate(99.09);
$sut->setRateBillable(123.456);
$sut->setDurationBillable(1234);
$sut->setRecordAmountBillable(4321);
$sut->setCounterExported(538);
$sut->setDurationBillableExported(199);
$sut->setRateBillableExported(654.23);
@@ -132,5 +136,6 @@ abstract class AbstractTimesheetCountedStatisticTest extends TestCase
self::assertSame(99.09, $json['rate_internal']);
self::assertSame(5, $json['amount']);
self::assertSame(4321, $json['amount_billable']);
self::assertSame(538, $json['amount_exported']);
}
}

View File

@@ -26,6 +26,8 @@ class YearTest extends AbstractTimesheetTest
self::assertEmpty($sut->getMonths());
self::assertIsArray($sut->getMonths());
self::assertEquals('1999', $sut->getYear());
self::assertSame(0, $sut->getBillableDuration());
self::assertSame(0.0, $sut->getBillableRate());
}
public function testSetter()
@@ -46,5 +48,10 @@ class YearTest extends AbstractTimesheetTest
self::assertInstanceOf(Month::class, $sut->getMonth(2));
self::assertInstanceOf(Month::class, $sut->getMonth(3));
self::assertNull($sut->getMonth(4));
$sut->setBillableDuration(123456);
$sut->setBillableRate(123.456789);
self::assertSame(123456, $sut->getBillableDuration());
self::assertSame(123.456789, $sut->getBillableRate());
}
}