* bump version
* fix translation ids
* added css classes to modify form with custom css
* improve export pdf file names
* respect financial year in new report
* added new InvoiceCalculator: price
* upgrade packages and node-sass to v7
* title pattern for customer, project and activity via API
* support negative money without currency
* fix sub-locale in print export template
* fix overbooking validation for monthly budget
* fix copying entities with different set of custom-fields compared to the current configuration
This commit is contained in:
Kevin Papst
2022-02-25 20:41:56 +01:00
committed by GitHub
parent 34649d809e
commit c0168ecc5b
53 changed files with 1222 additions and 611 deletions

View File

@@ -17,6 +17,7 @@ use PHPUnit\Framework\TestCase;
use Twig\Node\Node;
use Twig\TwigFilter;
use Twig\TwigFunction;
use Twig\TwigTest;
/**
* @covers \App\Twig\Extensions
@@ -28,6 +29,18 @@ class ExtensionsTest extends TestCase
return new Extensions();
}
private function getTest(string $name): TwigTest
{
$sut = $this->getSut();
foreach ($sut->getTests() as $test) {
if ($test->getName() === $name) {
return $test;
}
}
throw new \Exception('Unknown twig test: ' . $name);
}
public function testGetFilters()
{
$filters = ['report_date', 'docu_link', 'multiline_indent', 'color', 'font_contrast', 'default_color', 'nl2str'];
@@ -63,6 +76,22 @@ class ExtensionsTest extends TestCase
}
}
public function testGetTests()
{
$tests = ['number'];
$i = 0;
$sut = $this->getSut();
$twigTests = $sut->getTests();
$this->assertCount(\count($tests), $twigTests);
/** @var TwigTest $test */
foreach ($twigTests as $test) {
$this->assertInstanceOf(TwigTest::class, $test);
$this->assertEquals($tests[$i++], $test->getName());
}
}
public function testDocuLink()
{
$data = [
@@ -213,6 +242,17 @@ sdfsdf' . PHP_EOL . "\n" .
self::assertEquals('', $sut->defaultColor(''));
}
public function testIsNumeric()
{
$test = $this->getTest('number');
self::assertFalse(\call_user_func($test->getCallable(), null));
self::assertFalse(\call_user_func($test->getCallable(), true));
self::assertFalse(\call_user_func($test->getCallable(), false));
self::assertFalse(\call_user_func($test->getCallable(), '1'));
self::assertTrue(\call_user_func($test->getCallable(), 1));
self::assertTrue(\call_user_func($test->getCallable(), 1.0));
}
private static function assertIsValidColor(string $color)
{
self::assertStringStartsWith('#', $color);