added pdf template and other invoice improvements (#1693)
This commit is contained in:
@@ -17,6 +17,7 @@ use App\Entity\Project;
|
||||
use App\Invoice\ServiceInvoice;
|
||||
use App\Repository\CustomerRepository;
|
||||
use App\Repository\InvoiceTemplateRepository;
|
||||
use App\Repository\ProjectRepository;
|
||||
use App\Repository\TimesheetRepository;
|
||||
use App\Repository\UserRepository;
|
||||
use App\Tests\DataFixtures\CustomerFixtures;
|
||||
@@ -70,6 +71,7 @@ class InvoiceCreateCommandTest extends KernelTestCase
|
||||
$container->get(ServiceInvoice::class),
|
||||
$container->get(TimesheetRepository::class),
|
||||
$container->get(CustomerRepository::class),
|
||||
$container->get(ProjectRepository::class),
|
||||
$container->get(InvoiceTemplateRepository::class),
|
||||
$container->get(UserRepository::class),
|
||||
$container->get('event_dispatcher')
|
||||
@@ -167,6 +169,11 @@ class InvoiceCreateCommandTest extends KernelTestCase
|
||||
$this->assertCommandErrors(['--user' => UserFixtures::USERNAME_SUPER_ADMIN, '--customer' => 3, '--template' => 'x'], 'Unknown customer ID: 3');
|
||||
}
|
||||
|
||||
public function testCreateWithInvalidProject()
|
||||
{
|
||||
$this->assertCommandErrors(['--user' => UserFixtures::USERNAME_SUPER_ADMIN, '--project' => 3, '--template' => 'x'], 'Unknown project ID: 3');
|
||||
}
|
||||
|
||||
public function testCreateInvoice()
|
||||
{
|
||||
$fixture = new InvoiceFixtures();
|
||||
@@ -251,6 +258,19 @@ class InvoiceCreateCommandTest extends KernelTestCase
|
||||
$this->assertStringContainsString('Created 1 invoice(s) ', $output);
|
||||
}
|
||||
|
||||
public function testCreateInvoiceByProjectId()
|
||||
{
|
||||
$start = new \DateTime('-2 months');
|
||||
$end = new \DateTime();
|
||||
|
||||
$this->prepareFixtures($start);
|
||||
|
||||
$commandTester = $this->createInvoice(['--user' => UserFixtures::USERNAME_SUPER_ADMIN, '--exported' => 'all', '--project' => '1', '--template' => 'Invoice', '--start' => $start->format('Y-m-d'), '--end' => $end->format('Y-m-d')]);
|
||||
|
||||
$output = $commandTester->getDisplay();
|
||||
$this->assertStringContainsString('Created 1 invoice(s) ', $output);
|
||||
}
|
||||
|
||||
public function testCreateInvoiceByProjectWithPreview()
|
||||
{
|
||||
$start = new \DateTime('-2 months');
|
||||
|
||||
@@ -25,6 +25,7 @@ class InvoiceDocumentRepositoryTest extends TestCase
|
||||
protected static $defaultDocuments = [
|
||||
'company.docx',
|
||||
'default.html.twig',
|
||||
'default-pdf.pdf.twig',
|
||||
'freelancer.html.twig',
|
||||
'timesheet.html.twig',
|
||||
'text.txt.twig',
|
||||
|
||||
@@ -91,6 +91,7 @@ class DateExtensionsTest extends TestCase
|
||||
['de', new \DateTime('1980-12-14'), '14.12.1980'],
|
||||
['ru', new \DateTime('1980-12-14'), '14.12.1980'],
|
||||
['ru', '1980-12-14', '14.12.1980'],
|
||||
['ru', 1.2345, 1.2345],
|
||||
];
|
||||
}
|
||||
|
||||
@@ -115,6 +116,7 @@ class DateExtensionsTest extends TestCase
|
||||
['en', new \DateTime('7 January 2010'), '2010-01-07 12:01 AM'],
|
||||
['de', (new \DateTime('1980-12-14'))->setTime(13, 27, 55), '14.12.1980 13:27:55'],
|
||||
['de', '1980-12-14 13:27:55', '14.12.1980 13:27:55'],
|
||||
['de', 1.2345, 1.2345],
|
||||
];
|
||||
}
|
||||
|
||||
@@ -144,6 +146,7 @@ class DateExtensionsTest extends TestCase
|
||||
$sut = $this->getSut('en', []);
|
||||
$this->assertEquals('2010-01-07T17:43:21+01:00', $sut->dateFormat($date, 'c'));
|
||||
$this->assertStringStartsWith('2010-01-07T17:43:21', $sut->dateFormat('7 January 2010 17:43:21', 'c'));
|
||||
$this->assertEquals(2010.0107, $sut->dateFormat(2010.0107, 'c'));
|
||||
}
|
||||
|
||||
public function testTime()
|
||||
@@ -181,5 +184,6 @@ class DateExtensionsTest extends TestCase
|
||||
|
||||
$this->assertEquals('2019-08-17 12:29:47', $sut->dateTimeFull($dateTime));
|
||||
$this->assertEquals('2019-08-17 12:29:47', $sut->dateTimeFull('2019-08-17 12:29:47'));
|
||||
$this->assertEquals(189.45, $sut->dateTimeFull(189.45));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,6 +95,8 @@ class ExtensionsTest extends TestCase
|
||||
'EUR' => '€',
|
||||
'USD' => '$',
|
||||
'RUB' => 'RUB',
|
||||
'rub' => 'RUB',
|
||||
123 => 123,
|
||||
];
|
||||
|
||||
$sut = $this->getSut($this->localeEn);
|
||||
@@ -109,6 +111,8 @@ class ExtensionsTest extends TestCase
|
||||
'DE' => 'Germany',
|
||||
'RU' => 'Russia',
|
||||
'ES' => 'Spain',
|
||||
'es' => 'Spain',
|
||||
'12' => '12',
|
||||
];
|
||||
|
||||
$sut = $this->getSut($this->localeEn);
|
||||
@@ -123,6 +127,8 @@ class ExtensionsTest extends TestCase
|
||||
'de' => 'German',
|
||||
'ru' => 'Russian',
|
||||
'es' => 'Spanish',
|
||||
'ES' => 'Spanish',
|
||||
'12' => '12',
|
||||
];
|
||||
|
||||
$sut = $this->getSut($this->localeEn);
|
||||
|
||||
Reference in New Issue
Block a user