@yyberi/fronius-comm
Version:
Library for communicating with Fronius solar inverters
33 lines • 1.51 kB
JavaScript
// tests/fronius-real-comm.test.ts
import path from 'path';
import dotenv from 'dotenv';
dotenv.config({ path: path.resolve(__dirname, '.env') });
import { describe, it, expect } from 'vitest';
import { FroniusClient } from '@yyberi/fronius-comm';
const { IP, SCOPE, DEVICE_ID, DEVICE_CLASS } = process.env;
const hasRealEnv = Boolean(IP && SCOPE && DEVICE_ID && DEVICE_CLASS);
describe('FroniusClient Integration (real device)', () => {
const testFn = hasRealEnv ? it : it.skip;
testFn('fetches real data from inverter', async () => {
const realClient = new FroniusClient(IP, SCOPE, DEVICE_ID, DEVICE_CLASS);
const result = await realClient.getRealtimeData();
// Varmistetaan, että ainakin yksi kenttä on numero
const values = [
result.totalEnergy,
result.yearEnergy,
result.dayEnergy,
result.actPower
];
expect(values.some(v => typeof v === 'number')).toBe(true);
// Jos kenttiä on, tarkastetaan niiden tyyppi
if (result.totalEnergy !== undefined)
expect(typeof result.totalEnergy).toBe('number');
if (result.yearEnergy !== undefined)
expect(typeof result.yearEnergy).toBe('number');
if (result.dayEnergy !== undefined)
expect(typeof result.dayEnergy).toBe('number');
if (result.actPower !== undefined)
expect(typeof result.actPower).toBe('number');
});
});
//# sourceMappingURL=fronius-real-comm.test.js.map