invoice: do not use activity name as fallback for description (#4884)
* added replacement field description_safe
This commit is contained in:
@@ -27,13 +27,26 @@ class InvoiceItemDefaultHydratorTest extends TestCase
|
||||
$sut = new InvoiceItemDefaultHydrator();
|
||||
$sut->setInvoiceModel($model);
|
||||
|
||||
$result = $sut->hydrate($model->getCalculator()->getEntries()[0]);
|
||||
$metaFields = ['entry.meta.foo-timesheet'];
|
||||
$this->assertEntryStructure($result, $metaFields);
|
||||
$expected = [
|
||||
['meta_fields' => ['entry.meta.foo-timesheet'], 'description' => '== jhg ljhg ', 'description_safe' => '== jhg ljhg '],
|
||||
['meta_fields' => ['entry.meta.foo-timesheet', 'entry.meta.foo-timesheet2'], 'description' => '', 'description_safe' => 'activity description'],
|
||||
['meta_fields' => ['entry.meta.foo-timesheet'], 'description' => '', 'description_safe' => 'activity description'],
|
||||
['meta_fields' => ['entry.meta.foo-timesheet3']],
|
||||
['meta_fields' => []],
|
||||
];
|
||||
|
||||
$result = $sut->hydrate($model->getCalculator()->getEntries()[1]);
|
||||
$metaFields = ['entry.meta.foo-timesheet', 'entry.meta.foo-timesheet2'];
|
||||
$this->assertEntryStructure($result, $metaFields);
|
||||
$i = 0;
|
||||
foreach ($model->getCalculator()->getEntries() as $entry) {
|
||||
$result = $sut->hydrate($entry);
|
||||
$exp = $expected[$i++];
|
||||
$this->assertEntryStructure($result, $exp['meta_fields']);
|
||||
if (\array_key_exists('description', $exp)) {
|
||||
$this->assertEquals($exp['description'], $result['entry.description']);
|
||||
}
|
||||
if (\array_key_exists('description_safe', $exp)) {
|
||||
$this->assertEquals($exp['description_safe'], $result['entry.description_safe']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function assertEntryStructure(array $model, array $metaFields): void
|
||||
@@ -41,6 +54,7 @@ class InvoiceItemDefaultHydratorTest extends TestCase
|
||||
$keys = [
|
||||
'entry.row',
|
||||
'entry.description',
|
||||
'entry.description_safe',
|
||||
'entry.amount',
|
||||
'entry.rate',
|
||||
'entry.rate_nc',
|
||||
@@ -87,7 +101,9 @@ class InvoiceItemDefaultHydratorTest extends TestCase
|
||||
'entry.tags',
|
||||
];
|
||||
|
||||
$keys = array_merge($keys, $metaFields);
|
||||
if (\count($metaFields) > 0) {
|
||||
$keys = array_merge($keys, $metaFields);
|
||||
}
|
||||
|
||||
foreach ($keys as $key) {
|
||||
$this->assertArrayHasKey($key, $model);
|
||||
|
||||
Reference in New Issue
Block a user