Improve UX for invoice template management (#4121)

change translations and to explain that calculator actually group items by fields
This commit is contained in:
Kevin Papst
2023-06-21 08:17:54 +02:00
committed by GitHub
parent 983bf2c88b
commit dd89363c72
33 changed files with 889 additions and 324 deletions

View File

@@ -16,6 +16,7 @@ use App\Entity\Project;
use App\Entity\Timesheet;
use App\Entity\User;
use App\Invoice\Calculator\ActivityInvoiceCalculator;
use App\Invoice\CalculatorInterface;
use App\Repository\Query\InvoiceQuery;
use App\Tests\Invoice\DebugFormatter;
use App\Tests\Mocks\InvoiceModelFactoryFactory;
@@ -28,12 +29,12 @@ use App\Tests\Mocks\InvoiceModelFactoryFactory;
*/
class ActivityInvoiceCalculatorTest extends AbstractCalculatorTest
{
public function testEmptyModel()
protected function getCalculator(): CalculatorInterface
{
$this->assertEmptyModel(new ActivityInvoiceCalculator());
return new ActivityInvoiceCalculator();
}
public function testWithMultipleEntries()
public function testWithMultipleEntries(): void
{
$customer = new Customer('foo');
$template = new InvoiceTemplate();
@@ -140,7 +141,7 @@ class ActivityInvoiceCalculatorTest extends AbstractCalculatorTest
$model->addEntries($entries);
$model->setQuery($query);
$sut = new ActivityInvoiceCalculator();
$sut = $this->getCalculator();
$sut->setModel($model);
$this->assertEquals('activity', $sut->getId());
@@ -149,16 +150,16 @@ class ActivityInvoiceCalculatorTest extends AbstractCalculatorTest
$this->assertEquals('EUR', $model->getCurrency());
$this->assertEquals(2521.12, $sut->getSubtotal());
$this->assertEquals(6600, $sut->getTimeWorked());
$this->assertEquals(5, \count($sut->getEntries()));
$entries = $sut->getEntries();
self::assertCount(4, $entries);
$this->assertEquals(404.38, $entries[0]->getRate());
$this->assertEquals(2032.74, $entries[1]->getRate());
$this->assertEquals(84, $entries[2]->getRate());
}
public function testDescriptionByActivity()
public function testDescriptionByActivity(): void
{
$this->assertDescription(new ActivityInvoiceCalculator(), false, true);
$this->assertDescription($this->getCalculator(), false, true);
}
}