@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Belevo\EnelixUtils\Tests;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
final class EnergiediagrammModulstrukturTest extends TestCase
|
||||
{
|
||||
public function testModuleMetadataAndFormExposeRequiredConfiguration(): void
|
||||
{
|
||||
$module = json_decode(
|
||||
file_get_contents(__DIR__ . '/../Energiediagramm/module.json'),
|
||||
true,
|
||||
512,
|
||||
JSON_THROW_ON_ERROR
|
||||
);
|
||||
$form = json_decode(
|
||||
file_get_contents(__DIR__ . '/../Energiediagramm/form.json'),
|
||||
true,
|
||||
512,
|
||||
JSON_THROW_ON_ERROR
|
||||
);
|
||||
|
||||
self::assertSame('{F73B8F8D-5E36-4B23-B379-4632A517A1D6}', $module['id']);
|
||||
self::assertSame('Energiediagramm', $module['name']);
|
||||
self::assertSame('ENELIXENERGY', $module['prefix']);
|
||||
|
||||
$serialized = json_encode($form, JSON_THROW_ON_ERROR);
|
||||
foreach ([
|
||||
'ProduktionZaehlerID',
|
||||
'EinspeisungZaehlerID',
|
||||
'NetzbezugZaehlerID',
|
||||
'VerbrauchZaehlerID',
|
||||
'Standardzeitraum',
|
||||
'FarbeEigenverbrauch',
|
||||
'FarbeAutarkie',
|
||||
] as $property) {
|
||||
self::assertStringContainsString($property, $serialized);
|
||||
}
|
||||
self::assertSame(2, substr_count($serialized, 'SelectColor'));
|
||||
}
|
||||
|
||||
public function testHtmlStartsWithDataAndRespondsToAvailableWidth(): void
|
||||
{
|
||||
$html = file_get_contents(__DIR__ . '/../Energiediagramm/module.html');
|
||||
self::assertNotFalse($html);
|
||||
self::assertStringContainsString('__ENELIX_INITIAL_STATE__', $html);
|
||||
self::assertStringContainsString('ResizeObserver', $html);
|
||||
self::assertStringContainsString('grid-template-columns: minmax(0, 1fr)', $html);
|
||||
self::assertStringContainsString('SetCustomRange', $html);
|
||||
self::assertStringNotContainsString("addEventListener('load'", $html);
|
||||
}
|
||||
|
||||
public function testModuleEmbedsInitialPayloadForTileAndPopup(): void
|
||||
{
|
||||
$module = file_get_contents(__DIR__ . '/../Energiediagramm/module.php');
|
||||
self::assertNotFalse($module);
|
||||
self::assertStringContainsString(
|
||||
"str_replace('__ENELIX_INITIAL_STATE__'",
|
||||
$module
|
||||
);
|
||||
self::assertStringContainsString('GetVisualizationPopup', $module);
|
||||
self::assertStringContainsString('Standardzeitraum', $module);
|
||||
self::assertStringContainsString('CustomStart', $module);
|
||||
self::assertStringContainsString('CustomEnd', $module);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user