added command to create invoices via bash (#1574)

This commit is contained in:
Kevin Papst
2020-03-20 13:14:05 +01:00
committed by GitHub
parent 7b13ea860a
commit b8c5323ece
35 changed files with 1301 additions and 273 deletions

View File

@@ -14,8 +14,8 @@ use App\Entity\InvoiceTemplate;
use App\Entity\Timesheet;
use App\Invoice\Calculator\DefaultCalculator;
use App\Invoice\InvoiceModel;
use App\Invoice\NumberGenerator\DateNumberGenerator;
use App\Repository\Query\InvoiceQuery;
use App\Tests\Invoice\NumberGenerator\IncrementingNumberGenerator;
use PHPUnit\Framework\TestCase;
/**
@@ -43,6 +43,16 @@ class InvoiceModelTest extends TestCase
self::assertSame($formatter, $sut->getFormatter());
}
public function testEmptyObjectThrowsExceptionOnNumberGenerator()
{
$formatter = new DebugFormatter();
$sut = new InvoiceModel($formatter);
$this->expectException(\Exception::class);
$this->expectExceptionMessage('InvoiceModel::getInvoiceNumber() cannot be called before calling setNumberGenerator()');
$sut->getInvoiceNumber();
}
public function testSetter()
{
$sut = new InvoiceModel(new DebugFormatter());
@@ -59,9 +69,14 @@ class InvoiceModelTest extends TestCase
self::assertInstanceOf(InvoiceModel::class, $sut->setCalculator($calculator));
self::assertSame($calculator, $sut->getCalculator());
$generator = new DateNumberGenerator();
$generator = new IncrementingNumberGenerator();
self::assertInstanceOf(InvoiceModel::class, $sut->setNumberGenerator($generator));
self::assertSame($generator, $sut->getNumberGenerator());
$number = $sut->getInvoiceNumber();
$first = $sut->getNumberGenerator()->getInvoiceNumber();
$second = $sut->getNumberGenerator()->getInvoiceNumber();
self::assertEquals(((int) $first + 1), $second);
self::assertEquals($number, $sut->getInvoiceNumber());
$template = new InvoiceTemplate();
self::assertNull($sut->getDueDate());