Meta-fields for InvoiceTemplate, structured Customer address (#5519)
This commit is contained in:
@@ -17,6 +17,7 @@ use App\Entity\Timesheet;
|
||||
use App\Entity\User;
|
||||
use App\Invoice\CalculatorInterface;
|
||||
use App\Invoice\InvoiceModel;
|
||||
use App\Invoice\TaxRow;
|
||||
use App\Repository\Query\InvoiceQuery;
|
||||
use App\Tests\Invoice\DebugFormatter;
|
||||
use App\Tests\Mocks\InvoiceModelFactoryFactory;
|
||||
@@ -43,11 +44,21 @@ abstract class AbstractCalculatorTestCase extends TestCase
|
||||
$sut->setModel($model);
|
||||
|
||||
self::assertEquals(0, $sut->getTotal());
|
||||
self::assertEquals(0, $sut->getVat());
|
||||
self::assertEquals(0, $sut->getSubtotal());
|
||||
self::assertEquals(0, $sut->getTimeWorked());
|
||||
self::assertEquals(0, \count($sut->getEntries()));
|
||||
self::assertEquals(0, $sut->getTax());
|
||||
self::assertTax($sut, 0);
|
||||
}
|
||||
|
||||
protected function assertTax(CalculatorInterface $sut, int $rate): void
|
||||
{
|
||||
self::assertEquals($rate, $sut->getVat()); // @phpstan-ignore method.deprecated
|
||||
$rows = $sut->getTaxRows();
|
||||
self::assertCount(1, $rows);
|
||||
|
||||
self::assertInstanceOf(TaxRow::class, $rows[0]);
|
||||
self::assertEquals($rate, $rows[0]->getTax()->getRate());
|
||||
}
|
||||
|
||||
private function getEmptyModel(): InvoiceModel
|
||||
|
||||
@@ -138,7 +138,7 @@ class ActivityInvoiceCalculatorTest extends AbstractCalculatorTestCase
|
||||
|
||||
self::assertEquals('activity', $sut->getId());
|
||||
self::assertEquals(3000.13, $sut->getTotal());
|
||||
self::assertEquals(19, $sut->getVat());
|
||||
$this->assertTax($sut, 19);
|
||||
self::assertEquals('EUR', $model->getCurrency());
|
||||
self::assertEquals(2521.12, $sut->getSubtotal());
|
||||
self::assertEquals(6600, $sut->getTimeWorked());
|
||||
|
||||
@@ -150,7 +150,7 @@ class ActivityUserInvoiceCalculatorTest extends AbstractCalculatorTestCase
|
||||
|
||||
self::assertEquals('activity_user', $sut->getId());
|
||||
self::assertEquals(3100.09, $sut->getTotal());
|
||||
self::assertEquals(19, $sut->getVat());
|
||||
$this->assertTax($sut, 19);
|
||||
self::assertEquals('EUR', $model->getCurrency());
|
||||
self::assertEquals(2605.12, $sut->getSubtotal());
|
||||
self::assertEquals(7000, $sut->getTimeWorked());
|
||||
|
||||
@@ -114,7 +114,7 @@ class DateInvoiceCalculatorTest extends AbstractCalculatorTestCase
|
||||
|
||||
self::assertEquals('date', $sut->getId());
|
||||
self::assertEquals(3000.13, $sut->getTotal());
|
||||
self::assertEquals(19, $sut->getVat());
|
||||
$this->assertTax($sut, 19);
|
||||
self::assertEquals('EUR', $model->getCurrency());
|
||||
self::assertEquals(2521.12, $sut->getSubtotal());
|
||||
self::assertEquals(6600, $sut->getTimeWorked());
|
||||
|
||||
@@ -116,7 +116,7 @@ class DateUserInvoiceCalculatorTest extends AbstractCalculatorTestCase
|
||||
|
||||
self::assertEquals('date_user', $sut->getId());
|
||||
self::assertEquals(3000.13, $sut->getTotal());
|
||||
self::assertEquals(19, $sut->getVat());
|
||||
$this->assertTax($sut, 19);
|
||||
self::assertEquals('EUR', $model->getCurrency());
|
||||
self::assertEquals(2521.12, $sut->getSubtotal());
|
||||
self::assertEquals(6600, $sut->getTimeWorked());
|
||||
|
||||
@@ -72,7 +72,7 @@ class DefaultCalculatorTest extends AbstractCalculatorTestCase
|
||||
|
||||
self::assertEquals('default', $sut->getId());
|
||||
self::assertEquals(581.17, $sut->getTotal());
|
||||
self::assertEquals(19, $sut->getVat());
|
||||
$this->assertTax($sut, 19);
|
||||
self::assertEquals('EUR', $model->getCurrency());
|
||||
self::assertEquals(488.38, $sut->getSubtotal());
|
||||
self::assertEquals(5800, $sut->getTimeWorked());
|
||||
|
||||
@@ -117,7 +117,7 @@ class PriceInvoiceCalculatorTest extends AbstractCalculatorTestCase
|
||||
|
||||
self::assertEquals('price', $sut->getId());
|
||||
self::assertEquals(3000.13, $sut->getTotal());
|
||||
self::assertEquals(19, $sut->getVat());
|
||||
$this->assertTax($sut, 19);
|
||||
self::assertEquals('EUR', $model->getCurrency());
|
||||
self::assertEquals(2521.12, $sut->getSubtotal());
|
||||
self::assertEquals(6600, $sut->getTimeWorked());
|
||||
|
||||
@@ -113,7 +113,7 @@ class ProjectInvoiceCalculatorTest extends AbstractCalculatorTestCase
|
||||
|
||||
self::assertEquals('project', $sut->getId());
|
||||
self::assertEquals(3000.13, $sut->getTotal());
|
||||
self::assertEquals(19, $sut->getVat());
|
||||
$this->assertTax($sut, 19);
|
||||
self::assertEquals('EUR', $model->getCurrency());
|
||||
self::assertEquals(2521.12, $sut->getSubtotal());
|
||||
self::assertEquals(6600, $sut->getTimeWorked());
|
||||
|
||||
@@ -116,7 +116,7 @@ class ProjectUserInvoiceCalculatorTest extends AbstractCalculatorTestCase
|
||||
|
||||
self::assertEquals('project_user', $sut->getId());
|
||||
self::assertEquals(3000.13, $sut->getTotal());
|
||||
self::assertEquals(19, $sut->getVat());
|
||||
$this->assertTax($sut, 19);
|
||||
self::assertEquals('EUR', $model->getCurrency());
|
||||
self::assertEquals(2521.12, $sut->getSubtotal());
|
||||
self::assertEquals(6600, $sut->getTimeWorked());
|
||||
|
||||
@@ -95,7 +95,7 @@ class ShortInvoiceCalculatorTest extends AbstractCalculatorTestCase
|
||||
|
||||
self::assertEquals('short', $sut->getId());
|
||||
self::assertEquals(562.28, $sut->getTotal());
|
||||
self::assertEquals(19, $sut->getVat());
|
||||
$this->assertTax($sut, 19);
|
||||
self::assertEquals('EUR', $model->getCurrency());
|
||||
self::assertEquals(472.5, $sut->getSubtotal());
|
||||
self::assertEquals(5800, $sut->getTimeWorked());
|
||||
@@ -171,7 +171,7 @@ class ShortInvoiceCalculatorTest extends AbstractCalculatorTestCase
|
||||
|
||||
self::assertEquals('short', $sut->getId());
|
||||
self::assertEquals(581.17, $sut->getTotal());
|
||||
self::assertEquals(19, $sut->getVat());
|
||||
$this->assertTax($sut, 19);
|
||||
self::assertEquals('EUR', $model->getCurrency());
|
||||
self::assertEquals(488.38, $sut->getSubtotal());
|
||||
self::assertEquals(5800, $sut->getTimeWorked());
|
||||
@@ -241,7 +241,7 @@ class ShortInvoiceCalculatorTest extends AbstractCalculatorTestCase
|
||||
|
||||
self::assertEquals('short', $sut->getId());
|
||||
self::assertEquals(581.17, $sut->getTotal());
|
||||
self::assertEquals(19, $sut->getVat());
|
||||
$this->assertTax($sut, 19);
|
||||
self::assertEquals('EUR', $model->getCurrency());
|
||||
self::assertEquals(488.38, $sut->getSubtotal());
|
||||
self::assertEquals(5800, $sut->getTimeWorked());
|
||||
|
||||
@@ -110,7 +110,7 @@ class UserInvoiceCalculatorTest extends AbstractCalculatorTestCase
|
||||
|
||||
self::assertEquals('user', $sut->getId());
|
||||
self::assertEquals(3000.13, $sut->getTotal());
|
||||
self::assertEquals(19, $sut->getVat());
|
||||
$this->assertTax($sut, 19);
|
||||
self::assertEquals('EUR', $model->getCurrency());
|
||||
self::assertEquals(2521.12, $sut->getSubtotal());
|
||||
self::assertEquals(6600, $sut->getTimeWorked());
|
||||
|
||||
@@ -116,7 +116,7 @@ class WeeklyInvoiceCalculatorTest extends AbstractCalculatorTestCase
|
||||
|
||||
self::assertEquals('weekly', $sut->getId());
|
||||
self::assertEquals(3000.13, $sut->getTotal());
|
||||
self::assertEquals(19, $sut->getVat());
|
||||
$this->assertTax($sut, 19);
|
||||
self::assertEquals('EUR', $model->getCurrency());
|
||||
self::assertEquals(2521.12, $sut->getSubtotal());
|
||||
self::assertEquals(6600, $sut->getTimeWorked());
|
||||
|
||||
Reference in New Issue
Block a user