Files
Enelix-EMS/tests/DokumentationsstrukturTest.php
T
dh 7845c66fd8
Tests / test (push) Successful in 49s
feat: Wärmepumpenmodul integrieren
2026-09-22 14:34:23 +00:00

109 lines
4.7 KiB
PHP

<?php
declare(strict_types=1);
namespace Belevo\EnelixEMS\Tests;
use PHPUnit\Framework\TestCase;
final class DokumentationsstrukturTest extends TestCase
{
public function testWaermepumpeDokumentiertDenImplementiertenStand(): void
{
$pfad = __DIR__ . '/../docs/module/Waermepumpe/README.md';
self::assertFileExists($pfad);
$inhalt = file_get_contents($pfad);
self::assertNotFalse($inhalt);
self::assertStringContainsString('Status: Implementiert', $inhalt);
self::assertStringContainsString('Konfiguration', $inhalt);
self::assertStringContainsString('Adaption aus Enelix 1', $inhalt);
}
public function testBatterieDokumentiertDenImplementiertenStand(): void
{
$inhalt = file_get_contents(__DIR__ . '/../docs/module/Batterie/README.md');
self::assertNotFalse($inhalt);
self::assertStringContainsString('Status: implementiert', $inhalt);
self::assertStringContainsString('Properties', $inhalt);
self::assertStringContainsString('Registeradapter', $inhalt);
self::assertFileExists(__DIR__ . '/../docs/Schnittstelle-Batterie.md');
self::assertFileExists(__DIR__ . '/../docs/migration/Batterie.md');
}
public function testPufferspeicherDokumentiertDenImplementiertenStand(): void
{
$inhalt = file_get_contents(__DIR__ . '/../docs/module/Pufferspeicher/README.md');
self::assertNotFalse($inhalt);
self::assertStringContainsString('Status: implementiert', $inhalt);
self::assertStringContainsString('Managerkommunikation', $inhalt);
}
public function testLadestationStandAloneDokumentiertDenImplementiertenStand(): void
{
$inhalt = file_get_contents(__DIR__ . '/../docs/module/Ladestation-Stand-Alone/README.md');
self::assertNotFalse($inhalt);
self::assertStringContainsStringIgnoringCase('Status: implementiert', $inhalt);
self::assertStringContainsString('Properties', $inhalt);
self::assertStringContainsString('Fake-HTTP-Transport', $inhalt);
}
public function testEaseeModuleDokumentierenDenImplementiertenStand(): void
{
foreach (['Easee-Gateway', 'Ladestation-Gateway'] as $modul) {
$inhalt = file_get_contents(
__DIR__ . '/../docs/module/' . $modul . '/README.md'
);
self::assertNotFalse($inhalt);
self::assertStringContainsString('Status: implementiert', $inhalt);
self::assertStringContainsString('Properties', $inhalt);
self::assertStringContainsString('Tests', $inhalt);
}
}
public function testSchnittstellenDokumentiertSind(): void
{
self::assertFileExists(__DIR__ . '/../docs/Schnittstelle.md');
self::assertFileExists(__DIR__ . '/../docs/Schnittstelle-Easee-Gateway.md');
self::assertFileExists(__DIR__ . '/../docs/Obere-Anschluesse.md');
self::assertFileExists(__DIR__ . '/../libs/VerbraucherBasisTrait.php');
}
public function testManagerDokumentiertDenImplementiertenStand(): void
{
$inhalt = file_get_contents(__DIR__ . '/../docs/module/Manager/README.md');
self::assertNotFalse($inhalt);
self::assertStringContainsString('Status: Implementiert', $inhalt);
self::assertStringContainsString('Verteilalgorithmus', $inhalt);
}
public function testVerbraucherEinStufigDokumentiertDenImplementiertenStand(): void
{
$detailInhalt = file_get_contents(
__DIR__ . '/../docs/module/Verbraucher-1-Stufig/README.md'
);
self::assertNotFalse($detailInhalt);
self::assertStringContainsString('Status: implementiert', $detailInhalt);
self::assertStringContainsString('Umschaltabstand', $detailInhalt);
self::assertStringContainsString('Installation und Inbetriebnahme', $detailInhalt);
$modulInhalt = file_get_contents(__DIR__ . '/../VerbraucherEinStufig/README.md');
self::assertNotFalse($modulInhalt);
self::assertStringContainsString('Verhalten ohne separate Rueckmeldung', $modulInhalt);
self::assertStringContainsString('Mindesteinschaltdauer', $modulInhalt);
self::assertStringContainsString(
'composer check:verbraucher-einstufig',
$modulInhalt
);
}
public function testWarmwassererwaermerDokumentiertDenImplementiertenStand(): void
{
$inhalt = file_get_contents(__DIR__ . '/../docs/module/Wassererwaermer/README.md');
self::assertNotFalse($inhalt);
self::assertStringContainsString('Status: implementiert', $inhalt);
self::assertStringContainsString('Properties', $inhalt);
self::assertStringContainsString('Managerkommunikation', $inhalt);
}
}