added comment field to invoice (#3045)

This commit is contained in:
Kevin Papst
2021-12-30 21:49:30 +01:00
committed by GitHub
parent f7b3f4ed76
commit cc809183ae
13 changed files with 190 additions and 52 deletions

View File

@@ -54,6 +54,16 @@ class InvoiceTest extends TestCase
self::assertFalse($sut->isPaid());
self::assertFalse($sut->isOverdue());
self::assertNull($sut->getPaymentDate());
self::assertNull($sut->getComment());
}
public function testSetInvalidStatus()
{
$this->expectException(\InvalidArgumentException::class);
$this->expectExceptionMessage('Unknown invoice status');
$sut = new Invoice();
$sut->setStatus('foo');
}
public function testSetterAndGetter()
@@ -65,17 +75,35 @@ class InvoiceTest extends TestCase
self::assertFalse($sut->isNew());
self::assertTrue($sut->isPending());
self::assertFalse($sut->isPaid());
self::assertFalse($sut->isCanceled());
self::assertEquals(Invoice::STATUS_PENDING, $sut->getStatus());
$sut->setIsPaid();
self::assertFalse($sut->isNew());
self::assertFalse($sut->isPending());
self::assertTrue($sut->isPaid());
self::assertFalse($sut->isCanceled());
self::assertEquals(Invoice::STATUS_PAID, $sut->getStatus());
$sut->setStatus(Invoice::STATUS_PENDING);
self::assertTrue($sut->isPending());
self::assertEquals(Invoice::STATUS_PENDING, $sut->getStatus());
$sut->setIsCanceled();
self::assertFalse($sut->isNew());
self::assertFalse($sut->isPending());
self::assertFalse($sut->isPaid());
self::assertFalse($sut->isOverdue());
self::assertTrue($sut->isCanceled());
self::assertEquals(Invoice::STATUS_CANCELED, $sut->getStatus());
$sut->setIsNew();
self::assertTrue($sut->isNew());
self::assertFalse($sut->isPending());
self::assertFalse($sut->isPaid());
self::assertFalse($sut->isOverdue());
self::assertFalse($sut->isCanceled());
self::assertEquals(Invoice::STATUS_NEW, $sut->getStatus());
$paymentDate = new \DateTime();
$sut->setPaymentDate($paymentDate);
@@ -102,6 +130,9 @@ class InvoiceTest extends TestCase
self::assertEquals(348.99, $sut->getTotal());
self::assertNotNull($sut->getUser());
self::assertEquals(19, $sut->getVat());
$sut->setComment('foo bar');
self::assertEquals('foo bar', $sut->getComment());
}
protected function getInvoiceModel(\DateTime $created): InvoiceModel