release 1.17.2 (#3135)

* allow to input password interactively in console
* added block to simplify overwriting export template parts
* prevent installation in PHP 8.1
* composer update
* phpunit version to 9
* support negative amounts in excel export
* added system configuration actions for calendar, weekly timesheet, users
* added method to render text with full markdown support
This commit is contained in:
Kevin Papst
2022-02-14 17:33:52 +01:00
committed by GitHub
parent 4cb0ac37a6
commit 83a894823f
37 changed files with 1298 additions and 892 deletions

View File

@@ -163,7 +163,18 @@ abstract class AbstractRendererTest extends KernelTestCase
->setMetaField((new TimesheetMeta())->setName('foo2')->setValue('meta-bar2')->setIsVisible(true))
;
$entries = [$timesheet, $timesheet2, $timesheet3, $timesheet4, $timesheet5];
$timesheet6 = new Timesheet();
$timesheet6
->setDuration(400)
->setFixedRate(-100.92)
->setUser((new User())->setUsername('nivek'))
->setActivity($activity)
->setProject($project)
->setBegin(new \DateTime('2019-06-16 12:00:00'))
->setEnd(new \DateTime('2019-06-16 12:06:40'))
;
$entries = [$timesheet, $timesheet2, $timesheet3, $timesheet4, $timesheet5, $timesheet6];
$query = new TimesheetQuery();
$query->setActivities([$activity]);

View File

@@ -34,7 +34,7 @@ class CsvRendererTest extends AbstractRendererTest
public function getTestModel()
{
return [
['400', '2437.12', ' EUR 1,947.99 ', 6, 5, 1, 2, 2]
['400', '2437.12', ' EUR 1,947.99 ', 7, 6, 1, 2, 2]
];
}
@@ -107,8 +107,40 @@ class CsvRendererTest extends AbstractRendererTest
27 => 'ORDER-123',
];
self::assertEquals(6, \count($all));
$expected2 = [
0 => '2019-06-16',
1 => '12:00',
2 => '12:06',
3 => '400',
4 => '0',
5 => '',
6 => 'nivek',
7 => 'nivek',
8 => 'Customer Name',
9 => 'project name',
10 => 'activity description',
11 => '',
12 => '',
13 => '',
14 => '',
15 => '',
16 => ' EUR -100.92',
17 => '',
18 => '',
19 => 'customer-bar',
20 => '',
21 => 'project-foo2',
22 => 'activity-bar',
23 => 'timesheet',
24 => 'work',
25 => 'A-0123456789',
26 => 'DE-9876543210',
27 => 'ORDER-123',
];
self::assertEquals(7, \count($all));
self::assertEquals($expected, $all[5]);
self::assertEquals($expected2, $all[6]);
self::assertEquals(\count($expected), \count($all[0]));
self::assertEquals('foo', $all[4][14]);
}

View File

@@ -82,11 +82,12 @@ class HtmlRendererTest extends AbstractRendererTest
$this->assertStringContainsString('<td>Customer Name</td>', $content);
$this->assertStringContainsString('<td>project name</td>', $content);
$this->assertStringContainsString('<span class="duration-format" data-duration="6600">01:50 h</span>', $content);
$this->assertStringContainsString('<span class="duration-format" data-duration="7000">01:56 h</span>', $content);
$this->assertStringContainsString('<td class="cost summary-rate">€2,437.12</td>', $content);
$this->assertStringContainsString('-€100.92', $content);
// 5 times in the "full list" and once in the "summary with activities"
$this->assertEquals(6, substr_count($content, 'activity description'));
$this->assertEquals(7, substr_count($content, 'activity description'));
$this->assertEquals(1, substr_count($content, '<td>activity description</td>'));
}
}