new invoice template variables for budgets (#3005)
This commit is contained in:
@@ -16,9 +16,9 @@ use App\Entity\Project;
|
||||
use App\Entity\Timesheet;
|
||||
use App\Entity\User;
|
||||
use App\Invoice\CalculatorInterface;
|
||||
use App\Invoice\InvoiceModel;
|
||||
use App\Repository\Query\InvoiceQuery;
|
||||
use App\Tests\Invoice\DebugFormatter;
|
||||
use App\Tests\Mocks\InvoiceModelFactoryFactory;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
abstract class AbstractCalculatorTest extends TestCase
|
||||
@@ -44,7 +44,7 @@ abstract class AbstractCalculatorTest extends TestCase
|
||||
$template = new InvoiceTemplate();
|
||||
$query = new InvoiceQuery();
|
||||
|
||||
$model = new InvoiceModel(new DebugFormatter());
|
||||
$model = (new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter());
|
||||
$model->setCustomer($customer);
|
||||
$model->setTemplate($template);
|
||||
$model->setQuery($query);
|
||||
@@ -88,7 +88,7 @@ abstract class AbstractCalculatorTest extends TestCase
|
||||
->setActivity($activity)
|
||||
->setProject($project);
|
||||
|
||||
$model = new InvoiceModel(new DebugFormatter());
|
||||
$model = (new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter());
|
||||
$model->setCustomer($customer);
|
||||
$model->setTemplate($template);
|
||||
$model->addEntries([$timesheet]);
|
||||
|
||||
@@ -16,9 +16,9 @@ use App\Entity\Project;
|
||||
use App\Entity\Timesheet;
|
||||
use App\Entity\User;
|
||||
use App\Invoice\Calculator\ActivityInvoiceCalculator;
|
||||
use App\Invoice\InvoiceModel;
|
||||
use App\Repository\Query\InvoiceQuery;
|
||||
use App\Tests\Invoice\DebugFormatter;
|
||||
use App\Tests\Mocks\InvoiceModelFactoryFactory;
|
||||
|
||||
/**
|
||||
* @covers \App\Invoice\Calculator\ActivityInvoiceCalculator
|
||||
@@ -134,7 +134,7 @@ class ActivityInvoiceCalculatorTest extends AbstractCalculatorTest
|
||||
$query = new InvoiceQuery();
|
||||
$query->setActivity($activity1);
|
||||
|
||||
$model = new InvoiceModel(new DebugFormatter());
|
||||
$model = (new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter());
|
||||
$model->setCustomer($customer);
|
||||
$model->setTemplate($template);
|
||||
$model->addEntries($entries);
|
||||
|
||||
@@ -16,9 +16,9 @@ use App\Entity\Project;
|
||||
use App\Entity\Timesheet;
|
||||
use App\Entity\User;
|
||||
use App\Invoice\Calculator\DateInvoiceCalculator;
|
||||
use App\Invoice\InvoiceModel;
|
||||
use App\Repository\Query\InvoiceQuery;
|
||||
use App\Tests\Invoice\DebugFormatter;
|
||||
use App\Tests\Mocks\InvoiceModelFactoryFactory;
|
||||
use DateTime;
|
||||
|
||||
/**
|
||||
@@ -107,7 +107,7 @@ class DateInvoiceCalculatorTest extends AbstractCalculatorTest
|
||||
$query = new InvoiceQuery();
|
||||
$query->setProjects([$project1]);
|
||||
|
||||
$model = new InvoiceModel(new DebugFormatter());
|
||||
$model = (new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter());
|
||||
$model->setCustomer($customer);
|
||||
$model->setTemplate($template);
|
||||
$model->addEntries($entries);
|
||||
|
||||
@@ -15,9 +15,9 @@ use App\Entity\InvoiceTemplate;
|
||||
use App\Entity\Tag;
|
||||
use App\Entity\Timesheet;
|
||||
use App\Invoice\Calculator\DefaultCalculator;
|
||||
use App\Invoice\InvoiceModel;
|
||||
use App\Repository\Query\InvoiceQuery;
|
||||
use App\Tests\Invoice\DebugFormatter;
|
||||
use App\Tests\Mocks\InvoiceModelFactoryFactory;
|
||||
|
||||
/**
|
||||
* @covers \App\Invoice\Calculator\DefaultCalculator
|
||||
@@ -63,7 +63,7 @@ class DefaultCalculatorTest extends AbstractCalculatorTest
|
||||
|
||||
$entries = [$timesheet, $timesheet2, $timesheet3];
|
||||
|
||||
$model = new InvoiceModel(new DebugFormatter());
|
||||
$model = (new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter());
|
||||
$model->setCustomer($customer);
|
||||
$model->setTemplate($template);
|
||||
$model->addEntries($entries);
|
||||
|
||||
@@ -16,9 +16,9 @@ use App\Entity\Project;
|
||||
use App\Entity\Timesheet;
|
||||
use App\Entity\User;
|
||||
use App\Invoice\Calculator\ProjectInvoiceCalculator;
|
||||
use App\Invoice\InvoiceModel;
|
||||
use App\Repository\Query\InvoiceQuery;
|
||||
use App\Tests\Invoice\DebugFormatter;
|
||||
use App\Tests\Mocks\InvoiceModelFactoryFactory;
|
||||
use DateTime;
|
||||
|
||||
/**
|
||||
@@ -107,7 +107,7 @@ class ProjectInvoiceCalculatorTest extends AbstractCalculatorTest
|
||||
$query = new InvoiceQuery();
|
||||
$query->setProjects([$project1]);
|
||||
|
||||
$model = new InvoiceModel(new DebugFormatter());
|
||||
$model = (new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter());
|
||||
$model->setCustomer($customer);
|
||||
$model->setTemplate($template);
|
||||
$model->addEntries($entries);
|
||||
|
||||
@@ -18,9 +18,9 @@ use App\Entity\Timesheet;
|
||||
use App\Entity\User;
|
||||
use App\Invoice\Calculator\ShortInvoiceCalculator;
|
||||
use App\Invoice\InvoiceItem;
|
||||
use App\Invoice\InvoiceModel;
|
||||
use App\Repository\Query\InvoiceQuery;
|
||||
use App\Tests\Invoice\DebugFormatter;
|
||||
use App\Tests\Mocks\InvoiceModelFactoryFactory;
|
||||
|
||||
/**
|
||||
* @covers \App\Invoice\Calculator\ShortInvoiceCalculator
|
||||
@@ -91,7 +91,7 @@ class ShortInvoiceCalculatorTest extends AbstractCalculatorTest
|
||||
$query = new InvoiceQuery();
|
||||
$query->setActivity($activity);
|
||||
|
||||
$model = new InvoiceModel(new DebugFormatter());
|
||||
$model = (new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter());
|
||||
$model->setCustomer($customer);
|
||||
$model->setTemplate($template);
|
||||
$model->addEntries($entries);
|
||||
@@ -173,7 +173,7 @@ class ShortInvoiceCalculatorTest extends AbstractCalculatorTest
|
||||
$query = new InvoiceQuery();
|
||||
$query->setActivity($activity);
|
||||
|
||||
$model = new InvoiceModel(new DebugFormatter());
|
||||
$model = (new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter());
|
||||
$model->setCustomer($customer);
|
||||
$model->setTemplate($template);
|
||||
$model->addEntries($entries);
|
||||
@@ -252,7 +252,7 @@ class ShortInvoiceCalculatorTest extends AbstractCalculatorTest
|
||||
$query = new InvoiceQuery();
|
||||
$query->setActivity($activity);
|
||||
|
||||
$model = new InvoiceModel(new DebugFormatter());
|
||||
$model = (new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter());
|
||||
$model->setCustomer($customer);
|
||||
$model->setTemplate($template);
|
||||
$model->addEntries($entries);
|
||||
|
||||
@@ -16,9 +16,9 @@ use App\Entity\Project;
|
||||
use App\Entity\Timesheet;
|
||||
use App\Entity\User;
|
||||
use App\Invoice\Calculator\UserInvoiceCalculator;
|
||||
use App\Invoice\InvoiceModel;
|
||||
use App\Repository\Query\InvoiceQuery;
|
||||
use App\Tests\Invoice\DebugFormatter;
|
||||
use App\Tests\Mocks\InvoiceModelFactoryFactory;
|
||||
|
||||
/**
|
||||
* @covers \App\Invoice\Calculator\UserInvoiceCalculator
|
||||
@@ -105,7 +105,7 @@ class UserInvoiceCalculatorTest extends AbstractCalculatorTest
|
||||
$query = new InvoiceQuery();
|
||||
$query->setActivity($activity);
|
||||
|
||||
$model = new InvoiceModel(new DebugFormatter());
|
||||
$model = (new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter());
|
||||
$model->setCustomer($customer);
|
||||
$model->setTemplate($template);
|
||||
$model->addEntries($entries);
|
||||
|
||||
@@ -16,9 +16,9 @@ use App\Entity\Project;
|
||||
use App\Entity\Timesheet;
|
||||
use App\Entity\User;
|
||||
use App\Invoice\Calculator\WeeklyInvoiceCalculator;
|
||||
use App\Invoice\InvoiceModel;
|
||||
use App\Repository\Query\InvoiceQuery;
|
||||
use App\Tests\Invoice\DebugFormatter;
|
||||
use App\Tests\Mocks\InvoiceModelFactoryFactory;
|
||||
use DateTime;
|
||||
|
||||
/**
|
||||
@@ -110,7 +110,7 @@ class WeeklyInvoiceCalculatorTest extends AbstractCalculatorTest
|
||||
$query = new InvoiceQuery();
|
||||
$query->setProjects([$project1]);
|
||||
|
||||
$model = new InvoiceModel(new DebugFormatter());
|
||||
$model = (new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter());
|
||||
$model->setCustomer($customer);
|
||||
$model->setTemplate($template);
|
||||
$model->addEntries($entries);
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
namespace App\Tests\Invoice\Hydrator;
|
||||
|
||||
use App\Activity\ActivityStatisticService;
|
||||
use App\Invoice\Hydrator\InvoiceModelActivityHydrator;
|
||||
use App\Tests\Invoice\Renderer\RendererTestTrait;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
@@ -24,7 +25,7 @@ class InvoiceModelActivityHydratorTest extends TestCase
|
||||
{
|
||||
$model = $this->getInvoiceModel();
|
||||
|
||||
$sut = new InvoiceModelActivityHydrator();
|
||||
$sut = new InvoiceModelActivityHydrator($this->createMock(ActivityStatisticService::class));
|
||||
|
||||
$result = $sut->hydrate($model);
|
||||
$this->assertModelStructure($result);
|
||||
@@ -41,10 +42,18 @@ class InvoiceModelActivityHydratorTest extends TestCase
|
||||
'activity.name',
|
||||
'activity.comment',
|
||||
'activity.meta.foo-activity',
|
||||
'activity.budget_open',
|
||||
'activity.budget_open_plain',
|
||||
'activity.time_budget_open',
|
||||
'activity.time_budget_open_plain',
|
||||
'activity.1.id',
|
||||
'activity.1.name',
|
||||
'activity.1.comment',
|
||||
'activity.1.meta.foo-activity',
|
||||
'activity.1.budget_open',
|
||||
'activity.1.budget_open_plain',
|
||||
'activity.1.time_budget_open',
|
||||
'activity.1.time_budget_open_plain',
|
||||
];
|
||||
|
||||
$givenKeys = array_keys($model);
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
namespace App\Tests\Invoice\Hydrator;
|
||||
|
||||
use App\Customer\CustomerStatisticService;
|
||||
use App\Invoice\Hydrator\InvoiceModelCustomerHydrator;
|
||||
use App\Tests\Invoice\Renderer\RendererTestTrait;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
@@ -24,7 +25,7 @@ class InvoiceModelCustomerHydratorTest extends TestCase
|
||||
{
|
||||
$model = $this->getInvoiceModel();
|
||||
|
||||
$sut = new InvoiceModelCustomerHydrator();
|
||||
$sut = new InvoiceModelCustomerHydrator($this->createMock(CustomerStatisticService::class));
|
||||
|
||||
$result = $sut->hydrate($model);
|
||||
$this->assertModelStructure($result);
|
||||
@@ -52,6 +53,10 @@ class InvoiceModelCustomerHydratorTest extends TestCase
|
||||
'customer.phone',
|
||||
'customer.mobile',
|
||||
'customer.meta.foo-customer',
|
||||
'customer.budget_open',
|
||||
'customer.budget_open_plain',
|
||||
'customer.time_budget_open',
|
||||
'customer.time_budget_open_plain',
|
||||
];
|
||||
|
||||
$givenKeys = array_keys($model);
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
namespace App\Tests\Invoice\Hydrator;
|
||||
|
||||
use App\Invoice\Hydrator\InvoiceModelProjectHydrator;
|
||||
use App\Project\ProjectStatisticService;
|
||||
use App\Tests\Invoice\Renderer\RendererTestTrait;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
@@ -24,7 +25,7 @@ class InvoiceModelProjectHydratorTest extends TestCase
|
||||
{
|
||||
$model = $this->getInvoiceModel();
|
||||
|
||||
$sut = new InvoiceModelProjectHydrator();
|
||||
$sut = new InvoiceModelProjectHydrator($this->createMock(ProjectStatisticService::class));
|
||||
|
||||
$result = $sut->hydrate($model);
|
||||
$this->assertModelStructure($result);
|
||||
@@ -51,6 +52,10 @@ class InvoiceModelProjectHydratorTest extends TestCase
|
||||
'project.budget_time',
|
||||
'project.budget_time_decimal',
|
||||
'project.budget_time_minutes',
|
||||
'project.budget_open',
|
||||
'project.budget_open_plain',
|
||||
'project.time_budget_open',
|
||||
'project.time_budget_open_plain',
|
||||
'project.1.id',
|
||||
'project.1.name',
|
||||
'project.1.comment',
|
||||
@@ -65,6 +70,10 @@ class InvoiceModelProjectHydratorTest extends TestCase
|
||||
'project.1.budget_time',
|
||||
'project.1.budget_time_decimal',
|
||||
'project.1.budget_time_minutes',
|
||||
'project.1.budget_open',
|
||||
'project.1.budget_open_plain',
|
||||
'project.1.time_budget_open',
|
||||
'project.1.time_budget_open_plain',
|
||||
];
|
||||
|
||||
$givenKeys = array_keys($model);
|
||||
|
||||
@@ -13,10 +13,10 @@ use App\Entity\Customer;
|
||||
use App\Entity\InvoiceTemplate;
|
||||
use App\Entity\Project;
|
||||
use App\Invoice\InvoiceFilename;
|
||||
use App\Invoice\InvoiceModel;
|
||||
use App\Invoice\NumberGenerator\DateNumberGenerator;
|
||||
use App\Repository\InvoiceRepository;
|
||||
use App\Repository\Query\InvoiceQuery;
|
||||
use App\Tests\Mocks\InvoiceModelFactoryFactory;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
/**
|
||||
@@ -29,7 +29,7 @@ class InvoiceFilenameTest extends TestCase
|
||||
$customer = new Customer();
|
||||
$template = new InvoiceTemplate();
|
||||
|
||||
$model = new InvoiceModel(new DebugFormatter());
|
||||
$model = (new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter());
|
||||
$model->setNumberGenerator($this->getNumberGeneratorSut());
|
||||
$model->setTemplate($template);
|
||||
$model->setCustomer($customer);
|
||||
|
||||
@@ -16,6 +16,7 @@ use App\Invoice\Calculator\DefaultCalculator;
|
||||
use App\Invoice\InvoiceModel;
|
||||
use App\Repository\Query\InvoiceQuery;
|
||||
use App\Tests\Invoice\NumberGenerator\IncrementingNumberGenerator;
|
||||
use App\Tests\Mocks\InvoiceModelFactoryFactory;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
/**
|
||||
@@ -26,7 +27,7 @@ class InvoiceModelTest extends TestCase
|
||||
public function testEmptyObject()
|
||||
{
|
||||
$formatter = new DebugFormatter();
|
||||
$sut = new InvoiceModel($formatter);
|
||||
$sut = (new InvoiceModelFactoryFactory($this))->create()->createModel($formatter);
|
||||
|
||||
self::assertNull($sut->getQuery());
|
||||
self::assertNull($sut->getCustomer());
|
||||
@@ -51,7 +52,7 @@ class InvoiceModelTest extends TestCase
|
||||
public function testEmptyObjectThrowsExceptionOnNumberGenerator()
|
||||
{
|
||||
$formatter = new DebugFormatter();
|
||||
$sut = new InvoiceModel($formatter);
|
||||
$sut = (new InvoiceModelFactoryFactory($this))->create()->createModel($formatter);
|
||||
|
||||
$this->expectException(\Exception::class);
|
||||
$this->expectExceptionMessage('InvoiceModel::getInvoiceNumber() cannot be called before calling setNumberGenerator()');
|
||||
@@ -60,7 +61,7 @@ class InvoiceModelTest extends TestCase
|
||||
|
||||
public function testSetter()
|
||||
{
|
||||
$sut = new InvoiceModel(new DebugFormatter());
|
||||
$sut = (new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter());
|
||||
|
||||
$query = new InvoiceQuery();
|
||||
self::assertInstanceOf(InvoiceModel::class, $sut->setQuery($query));
|
||||
@@ -95,7 +96,7 @@ class InvoiceModelTest extends TestCase
|
||||
*/
|
||||
public function testDeprecations()
|
||||
{
|
||||
$sut = new InvoiceModel(new DebugFormatter());
|
||||
$sut = (new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter());
|
||||
|
||||
$entries = [new Timesheet()];
|
||||
self::assertInstanceOf(InvoiceModel::class, $sut->setEntries($entries));
|
||||
|
||||
@@ -12,10 +12,10 @@ namespace App\Tests\Invoice\NumberGenerator;
|
||||
use App\Configuration\SystemConfiguration;
|
||||
use App\Entity\Customer;
|
||||
use App\Entity\User;
|
||||
use App\Invoice\InvoiceModel;
|
||||
use App\Invoice\NumberGenerator\ConfigurableNumberGenerator;
|
||||
use App\Repository\InvoiceRepository;
|
||||
use App\Tests\Invoice\DebugFormatter;
|
||||
use App\Tests\Mocks\InvoiceModelFactoryFactory;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
/**
|
||||
@@ -156,7 +156,7 @@ class ConfigurableNumberGeneratorTest extends TestCase
|
||||
$user->method('getAccountNumber')->willReturn('0815');
|
||||
|
||||
$sut = $this->getSut($format, $counter);
|
||||
$model = new InvoiceModel(new DebugFormatter());
|
||||
$model = (new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter());
|
||||
$model->setInvoiceDate($invoiceDate);
|
||||
$model->setCustomer($customer);
|
||||
$model->setUser($user);
|
||||
@@ -197,7 +197,7 @@ class ConfigurableNumberGeneratorTest extends TestCase
|
||||
$this->expectExceptionMessage(sprintf('Unknown %s found', $brokenPart));
|
||||
|
||||
$sut = $this->getSut($format);
|
||||
$model = new InvoiceModel(new DebugFormatter());
|
||||
$model = (new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter());
|
||||
$model->setInvoiceDate($invoiceDate);
|
||||
$model->setCustomer(new Customer());
|
||||
$sut->setModel($model);
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
|
||||
namespace App\Tests\Invoice\NumberGenerator;
|
||||
|
||||
use App\Invoice\InvoiceModel;
|
||||
use App\Invoice\NumberGenerator\DateNumberGenerator;
|
||||
use App\Repository\InvoiceRepository;
|
||||
use App\Tests\Invoice\DebugFormatter;
|
||||
use App\Tests\Mocks\InvoiceModelFactoryFactory;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
/**
|
||||
@@ -40,7 +40,7 @@ class DateNumberGeneratorTest extends TestCase
|
||||
public function testGetInvoiceNumber()
|
||||
{
|
||||
$sut = $this->getSut(false, false);
|
||||
$sut->setModel(new InvoiceModel(new DebugFormatter()));
|
||||
$sut->setModel((new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter()));
|
||||
|
||||
$this->assertEquals(date('ymd'), $sut->getInvoiceNumber());
|
||||
$this->assertEquals('date', $sut->getId());
|
||||
@@ -49,7 +49,7 @@ class DateNumberGeneratorTest extends TestCase
|
||||
public function testGetInvoiceNumberWithExisting()
|
||||
{
|
||||
$sut = $this->getSut(true, false);
|
||||
$sut->setModel(new InvoiceModel(new DebugFormatter()));
|
||||
$sut->setModel((new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter()));
|
||||
|
||||
$this->assertEquals(date('ymd-01'), $sut->getInvoiceNumber());
|
||||
$this->assertEquals('date', $sut->getId());
|
||||
@@ -58,7 +58,7 @@ class DateNumberGeneratorTest extends TestCase
|
||||
public function testGetInvoiceNumberWithManyExisting()
|
||||
{
|
||||
$sut = $this->getSut(true, true);
|
||||
$sut->setModel(new InvoiceModel(new DebugFormatter()));
|
||||
$sut->setModel((new InvoiceModelFactoryFactory($this))->create()->createModel(new DebugFormatter()));
|
||||
|
||||
$this->assertEquals(date('ymd-99'), $sut->getInvoiceNumber());
|
||||
$this->assertEquals('date', $sut->getId());
|
||||
|
||||
@@ -131,12 +131,20 @@ class DebugRendererTest extends TestCase
|
||||
'customer.email',
|
||||
'customer.fax',
|
||||
'customer.phone',
|
||||
'customer.budget_open',
|
||||
'customer.budget_open_plain',
|
||||
'customer.time_budget_open',
|
||||
'customer.time_budget_open_plain',
|
||||
'customer.mobile',
|
||||
'customer.meta.foo-customer',
|
||||
'activity.id',
|
||||
'activity.name',
|
||||
'activity.comment',
|
||||
'activity.meta.foo-activity',
|
||||
'activity.budget_open',
|
||||
'activity.budget_open_plain',
|
||||
'activity.time_budget_open',
|
||||
'activity.time_budget_open_plain',
|
||||
'user.alias',
|
||||
'user.email',
|
||||
'user.name',
|
||||
@@ -146,8 +154,18 @@ class DebugRendererTest extends TestCase
|
||||
'testFromModelHydrator',
|
||||
];
|
||||
|
||||
if ($activityCounter === 1) {
|
||||
$keys = array_merge($keys, [
|
||||
'activity',
|
||||
]);
|
||||
}
|
||||
|
||||
if ($activityCounter > 1) {
|
||||
$keys = array_merge($keys, [
|
||||
'activity.1.budget_open',
|
||||
'activity.1.budget_open_plain',
|
||||
'activity.1.time_budget_open',
|
||||
'activity.1.time_budget_open_plain',
|
||||
'activity.1.id',
|
||||
'activity.1.name',
|
||||
'activity.1.comment',
|
||||
@@ -171,7 +189,16 @@ class DebugRendererTest extends TestCase
|
||||
'project.budget_time',
|
||||
'project.budget_time_decimal',
|
||||
'project.budget_time_minutes',
|
||||
'project.budget_open',
|
||||
'project.budget_open_plain',
|
||||
'project.time_budget_open',
|
||||
'project.time_budget_open_plain',
|
||||
]);
|
||||
if ($projectCounter === 1) {
|
||||
$keys = array_merge($keys, [
|
||||
'project',
|
||||
]);
|
||||
}
|
||||
if ($projectCounter > 1) {
|
||||
$keys = array_merge($keys, [
|
||||
'project.1.id',
|
||||
@@ -188,6 +215,10 @@ class DebugRendererTest extends TestCase
|
||||
'project.1.budget_time',
|
||||
'project.1.budget_time_decimal',
|
||||
'project.1.budget_time_minutes',
|
||||
'project.1.budget_open',
|
||||
'project.1.budget_open_plain',
|
||||
'project.1.time_budget_open',
|
||||
'project.1.time_budget_open_plain',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ use App\Invoice\NumberGenerator\DateNumberGenerator;
|
||||
use App\Invoice\Renderer\AbstractRenderer;
|
||||
use App\Repository\InvoiceRepository;
|
||||
use App\Repository\Query\InvoiceQuery;
|
||||
use App\Tests\Mocks\InvoiceModelFactoryFactory;
|
||||
|
||||
trait RendererTestTrait
|
||||
{
|
||||
@@ -217,7 +218,7 @@ trait RendererTestTrait
|
||||
$query->setEnd(new \DateTime());
|
||||
$query->setProjects([$project, $project2]);
|
||||
|
||||
$model = new InvoiceModel($this->getFormatter());
|
||||
$model = (new InvoiceModelFactoryFactory($this))->create()->createModel($this->getFormatter());
|
||||
$model->setCustomer($customer);
|
||||
$model->setTemplate($template);
|
||||
$model->addEntries($entries);
|
||||
@@ -301,7 +302,7 @@ trait RendererTestTrait
|
||||
$query->setBegin(new \DateTime());
|
||||
$query->setEnd(new \DateTime());
|
||||
|
||||
$model = new InvoiceModel($this->getFormatter());
|
||||
$model = (new InvoiceModelFactoryFactory($this))->create()->createModel($this->getFormatter());
|
||||
$model->setCustomer($customer);
|
||||
$model->setTemplate($template);
|
||||
$model->addEntries($entries);
|
||||
|
||||
@@ -66,10 +66,8 @@ class TwigRendererTest extends KernelTestCase
|
||||
|
||||
$filename = $model->getInvoiceNumber() . '-customer_with_special_name';
|
||||
$this->assertStringContainsString('<title>' . $filename . '</title>', $content);
|
||||
$this->assertStringContainsString('<h2 class="page-header">
|
||||
<span contenteditable="true">a very *long* test invoice / template title with [ßpecial] chäracter</span>
|
||||
</h2>', $content);
|
||||
$this->assertEquals(2, substr_count($content, 'activity description'));
|
||||
$this->assertStringContainsString('<span contenteditable="true">a very *long* test invoice / template title with [ßpecial] chäracter</span>', $content);
|
||||
$this->assertEquals(3, substr_count($content, 'activity description'));
|
||||
$this->assertStringContainsString(nl2br("foo\n" .
|
||||
"foo\r\n" .
|
||||
'foo' . PHP_EOL .
|
||||
|
||||
@@ -24,6 +24,7 @@ use App\Invoice\ServiceInvoice;
|
||||
use App\Repository\InvoiceDocumentRepository;
|
||||
use App\Repository\InvoiceRepository;
|
||||
use App\Repository\Query\InvoiceQuery;
|
||||
use App\Tests\Mocks\InvoiceModelFactoryFactory;
|
||||
use App\Utils\FileHelper;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Twig\Environment;
|
||||
@@ -48,7 +49,7 @@ class ServiceInvoiceTest extends TestCase
|
||||
$repo = new InvoiceDocumentRepository($paths);
|
||||
$invoiceRepo = $this->createMock(InvoiceRepository::class);
|
||||
|
||||
return new ServiceInvoice($repo, new FileHelper(realpath(__DIR__ . '/../../var/data/')), $invoiceRepo, $formattings);
|
||||
return new ServiceInvoice($repo, new FileHelper(realpath(__DIR__ . '/../../var/data/')), $invoiceRepo, $formattings, (new InvoiceModelFactoryFactory($this))->create());
|
||||
}
|
||||
|
||||
public function testInvalidExceptionOnChangeState()
|
||||
|
||||
Reference in New Issue
Block a user