Verbrauchskostenreport implementieren
Tests / test (push) Successful in 1m10s

This commit is contained in:
dh
2026-09-17 08:56:38 +00:00
parent 3e0d198525
commit d36bd29c31
60 changed files with 63520 additions and 28 deletions
+58
View File
@@ -18,5 +18,63 @@ final class LibraryMetadataTest extends TestCase
self::assertSame('8.0', $daten['compatibility']['version']);
self::assertMatchesRegularExpression('/^\{[0-9A-F-]{36}\}$/', $daten['id']);
}
public function testVerbrauchskostenreportHatNeutraleMetadaten(): void
{
$inhalt = file_get_contents(__DIR__ . '/../Verbrauchskostenreport/module.json');
self::assertNotFalse($inhalt);
$daten = json_decode($inhalt, true, 512, JSON_THROW_ON_ERROR);
self::assertSame('{9DAC29C7-F381-F2A4-7CE2-F391C4123F38}', $daten['id']);
self::assertSame('Verbrauchskostenreport', $daten['name']);
self::assertSame([], $daten['aliases']);
self::assertSame('VKR', $daten['prefix']);
self::assertSame(3, $daten['type']);
}
public function testVerbrauchskostenreportFormularIstGueltigesJson(): void
{
$inhalt = file_get_contents(__DIR__ . '/../Verbrauchskostenreport/form.json');
self::assertNotFalse($inhalt);
$daten = json_decode($inhalt, true, 512, JSON_THROW_ON_ERROR);
self::assertArrayHasKey('elements', $daten);
self::assertNotEmpty($daten['elements']);
}
public function testRequestActionSchreibtKeineDirekteAusgabe(): void
{
$inhalt = file_get_contents(__DIR__ . '/../Verbrauchskostenreport/module.php');
self::assertNotFalse($inhalt);
$anfang = strpos($inhalt, 'public function RequestAction');
$ende = strpos($inhalt, 'public function ProcessHookData');
self::assertNotFalse($anfang);
self::assertNotFalse($ende);
self::assertStringNotContainsString('echo ', substr($inhalt, $anfang, $ende - $anfang));
}
public function testVerbrauchskostenreportVerwendetNeutraleBegriffe(): void
{
$dateien = [
'/../README.md',
'/../docs/module/README.md',
'/../docs/module/Verbrauchskostenreport/README.md',
'/../Verbrauchskostenreport/README.md',
'/../Verbrauchskostenreport/form.json',
'/../Verbrauchskostenreport/module.json',
'/../Verbrauchskostenreport/module.php',
];
foreach ($dateien as $datei) {
$inhalt = file_get_contents(__DIR__ . $datei);
self::assertNotFalse($inhalt);
self::assertDoesNotMatchRegularExpression(
'/Abrechn|(^|[^A-Za-z])Rechnung([^A-Za-z]|$)|Invoice|Billing/i',
$inhalt,
$datei
);
}
}
}