Files
kimai2/tests/Invoice/InvoiceFilenameTest.php

54 lines
1.5 KiB
PHP

<?php
/*
* This file is part of the Kimai time-tracking app.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace App\Tests\Invoice;
use App\Entity\Customer;
use App\Entity\InvoiceTemplate;
use App\Invoice\InvoiceFilename;
use App\Invoice\InvoiceModel;
use App\Invoice\NumberGenerator\DateNumberGenerator;
use PHPUnit\Framework\TestCase;
/**
* @covers \App\Invoice\InvoiceFilename
*/
class InvoiceFilenameTest extends TestCase
{
public function testInvoiceFilename()
{
$customer = new Customer();
$template = new InvoiceTemplate();
$model = new InvoiceModel(new DebugFormatter());
$model->setNumberGenerator(new DateNumberGenerator());
$model->setTemplate($template);
$model->setCustomer($customer);
$datePrefix = date('ymd');
$sut = new InvoiceFilename($model);
self::assertEquals($datePrefix, $sut->getFilename());
self::assertEquals($datePrefix, (string) $sut);
$customer->setName('foo');
$sut = new InvoiceFilename($model);
self::assertEquals($datePrefix . '-foo', $sut->getFilename());
self::assertEquals($datePrefix . '-foo', (string) $sut);
$customer->setCompany('barß / laölala # ldksjf 123');
$sut = new InvoiceFilename($model);
self::assertEquals($datePrefix . '-barß_laölala_ldksjf123', $sut->getFilename());
self::assertEquals($datePrefix . '-barß_laölala_ldksjf123', (string) $sut);
}
}