101 lines
3.9 KiB
PHP
101 lines
3.9 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Belevo\EnelixEMS\Tests;
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
final class ManagerEnergieModulstrukturTest extends TestCase
|
|
{
|
|
public function testManagerKonfiguriertMessquellenUndArchivregeln(): void
|
|
{
|
|
$modul = (string) file_get_contents(__DIR__ . '/../Manager/module.php');
|
|
$trait = (string) file_get_contents(__DIR__ . '/../libs/ManagerEnergieTrait.php');
|
|
$formular = (string) file_get_contents(__DIR__ . '/../Manager/form.json');
|
|
|
|
foreach ([
|
|
"RegisterPropertyBoolean('EnergyPieAnzeigen', false)",
|
|
"RegisterPropertyBoolean('EnergiediagrammeAnzeigen', false)",
|
|
"RegisterPropertyBoolean('FunFactsAnzeigen', false)",
|
|
"RegisterPropertyBoolean('EnergieflussAnzeigen', false)",
|
|
"RegisterPropertyInteger('LeistungsaufzeichnungMinuten', 1)",
|
|
"RegisterPropertyInteger('LeistungLoeschenMonate', 12)",
|
|
"RegisterPropertyInteger('EnergieaufzeichnungMinuten', 5)",
|
|
"RegisterPropertyInteger('EnergieVerdichtenMonate', 12)",
|
|
"RegisterPropertyInteger('EnergieLoeschenMonate', 0)",
|
|
] as $erwartet) {
|
|
self::assertStringContainsString($erwartet, $modul);
|
|
}
|
|
foreach ([
|
|
'AC_SetLoggingStatus',
|
|
'AC_SetAggregationType',
|
|
'AC_SetCompaction',
|
|
'AC_ReAggregateVariable',
|
|
'IPS_CreateMedia(4)',
|
|
'IPS_SetMediaContent',
|
|
'ENERGY_PIE_MODULE_ID',
|
|
'ENERGY_FLOW_MODULE_ID',
|
|
'energieflussKnoten',
|
|
'IPS_DeleteInstance',
|
|
'IPS_DeleteMedia',
|
|
] as $erwartet) {
|
|
self::assertStringContainsString($erwartet, $modul . $trait);
|
|
}
|
|
foreach ([
|
|
'Energieaufzeichnung',
|
|
'FormEnergyPieAnzeigen',
|
|
'FormEnergiediagrammeAnzeigen',
|
|
'FormFunFactsAnzeigen',
|
|
'FormEnergieflussAnzeigen',
|
|
'MesswerteAnzeigen',
|
|
'IstleistungVariableID',
|
|
'LeistungVariableID',
|
|
'SOCVariableID',
|
|
'NetzbezugEnergieVariableID',
|
|
'NetzeinspeisungEnergieVariableID',
|
|
'ErzeugungsenergieVariableID',
|
|
'LadeenergieVariableID',
|
|
'EntladeenergieVariableID',
|
|
] as $erwartet) {
|
|
self::assertStringContainsString($erwartet, $formular);
|
|
}
|
|
}
|
|
|
|
public function testManagerFuehrtAlleMessvariablenUndRichtungszaehler(): void
|
|
{
|
|
$modul = (string) file_get_contents(__DIR__ . '/../Manager/module.php');
|
|
|
|
foreach ([
|
|
'PVLeistungArchiv',
|
|
'HausverbrauchLeistungArchiv',
|
|
'NetzleistungArchiv',
|
|
'BatterieleistungArchiv',
|
|
'PVEnergie',
|
|
'Hausenergie',
|
|
'NetzbezugEnergie',
|
|
'EinspeisungEnergie',
|
|
'BatterieLadenEnergie',
|
|
'BatterieEntladenEnergie',
|
|
] as $ident) {
|
|
self::assertStringContainsString("'" . $ident . "'", $modul);
|
|
}
|
|
self::assertStringContainsString("RegisterTimer(
|
|
'MesswerteAufzeichnen'", $modul);
|
|
self::assertStringContainsString('EnergieMessung::energieDeltas', $modul);
|
|
self::assertStringContainsString('EnergieMessung::hausenergie', $modul);
|
|
self::assertStringContainsString("RegisterAttributeString('MessungZaehlerstaende'", $modul);
|
|
}
|
|
|
|
public function testFunFactsSindResponsivUndErklaerenUmrechnungen(): void
|
|
{
|
|
$trait = (string) file_get_contents(__DIR__ . '/../libs/ManagerEnergieTrait.php');
|
|
|
|
self::assertStringContainsString('grid-template-columns:repeat(3,minmax(0,1fr))', $trait);
|
|
self::assertStringContainsString('@media(max-width:820px)', $trait);
|
|
self::assertStringContainsString('10 kWh pro Liter Heizoel', $trait);
|
|
self::assertStringContainsString('2,4 Flugkilometern', $trait);
|
|
self::assertStringContainsString('AC_GetAggregatedValues', $trait);
|
|
}
|
|
}
|