81 lines
2.9 KiB
PHP
81 lines
2.9 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Belevo\EnelixUtils\Tests;
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
final class LibraryMetadataTest extends TestCase
|
|
{
|
|
public function testLibraryJsonIstGueltigUndFuerSymcon80(): void
|
|
{
|
|
$inhalt = file_get_contents(__DIR__ . '/../library.json');
|
|
self::assertNotFalse($inhalt);
|
|
|
|
$daten = json_decode($inhalt, true, 512, JSON_THROW_ON_ERROR);
|
|
self::assertSame('Enelix Utils', $daten['name']);
|
|
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
|
|
);
|
|
}
|
|
}
|
|
}
|
|
|