sort invoice items by date before passing to template (#4495)

This commit is contained in:
Kevin Papst
2023-12-17 16:50:47 +01:00
committed by GitHub
parent 5f4b6d3cfa
commit 2edcbcca50
14 changed files with 113 additions and 66 deletions

View File

@@ -55,7 +55,7 @@ class ProjectInvoiceCalculatorTest extends AbstractCalculatorTest
$timesheet = new Timesheet();
$timesheet
->setBegin(new DateTime())
->setBegin(new DateTime('2018-11-29'))
->setEnd(new DateTime())
->setDuration(3600)
->setRate(293.27)
@@ -65,7 +65,7 @@ class ProjectInvoiceCalculatorTest extends AbstractCalculatorTest
$timesheet2 = new Timesheet();
$timesheet2
->setBegin(new DateTime())
->setBegin(new DateTime('2018-11-28'))
->setEnd(new DateTime())
->setDuration(400)
->setRate(84.75)
@@ -75,7 +75,7 @@ class ProjectInvoiceCalculatorTest extends AbstractCalculatorTest
$timesheet3 = new Timesheet();
$timesheet3
->setBegin(new DateTime())
->setBegin(new DateTime('2018-11-29'))
->setEnd(new DateTime())
->setDuration(1800)
->setRate(111.11)
@@ -85,7 +85,7 @@ class ProjectInvoiceCalculatorTest extends AbstractCalculatorTest
$timesheet4 = new Timesheet();
$timesheet4
->setBegin(new DateTime())
->setBegin(new DateTime('2018-11-08'))
->setEnd(new DateTime())
->setDuration(400)
->setRate(1947.99)
@@ -95,7 +95,7 @@ class ProjectInvoiceCalculatorTest extends AbstractCalculatorTest
$timesheet5 = new Timesheet();
$timesheet5
->setBegin(new DateTime())
->setBegin(new DateTime('2018-11-28'))
->setEnd(new DateTime())
->setDuration(400)
->setRate(84)
@@ -123,9 +123,14 @@ class ProjectInvoiceCalculatorTest extends AbstractCalculatorTest
$entries = $sut->getEntries();
self::assertCount(3, $entries);
$this->assertEquals(404.38, $entries[0]->getRate());
$this->assertEquals(2032.74, $entries[1]->getRate());
$this->assertEquals(84, $entries[2]->getRate());
$this->assertEquals('2018-11-08', $entries[0]->getBegin()?->format('Y-m-d'));
$this->assertEquals('2018-11-28', $entries[1]->getBegin()?->format('Y-m-d'));
$this->assertEquals('2018-11-29', $entries[2]->getBegin()?->format('Y-m-d'));
$this->assertEquals(404.38, $entries[2]->getRate());
$this->assertEquals(2032.74, $entries[0]->getRate());
$this->assertEquals(84, $entries[1]->getRate());
self::assertEquals(2521.12, $entries[0]->getRate() + $entries[1]->getRate() + $entries[2]->getRate());
}