UNPKG

@yyberi/fronius-comm

Version:

Library for communicating with Fronius solar inverters

33 lines 1.51 kB
// 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