Major change: switched to DataType enum

This commit is contained in:
2026-03-15 22:57:19 +01:00
parent 074806528f
commit c300aefc0b
7 changed files with 260 additions and 216 deletions

View File

@@ -5,6 +5,7 @@ import {
TelemetryUnitPayload,
TelemetryCoefficientsPayload,
TelemetryBitSensePayload,
DataType,
} from "../src/frame.types";
import { Frame } from "../src/frame";
import { expect } from "vitest";
@@ -14,7 +15,8 @@ describe("Frame decode - Telemetry", () => {
const frame = Frame.fromString("SRC>DEST:T#1 10,20,30,40,50 7");
const payload = frame.decode() as TelemetryDataPayload;
expect(payload).not.toBeNull();
expect(payload.type).toBe("telemetry-data");
expect(payload.type).toBe(DataType.TelemetryData);
expect(payload.variant).toBe("data");
expect(payload.sequence).toBe(1);
expect(Array.isArray(payload.analog)).toBe(true);
expect(payload.analog.length).toBe(5);
@@ -25,7 +27,8 @@ describe("Frame decode - Telemetry", () => {
const frame = Frame.fromString("SRC>DEST:TPARAM Temp,Hum,Wind");
const payload = frame.decode() as TelemetryParameterPayload;
expect(payload).not.toBeNull();
expect(payload.type).toBe("telemetry-parameters");
expect(payload.type).toBe(DataType.TelemetryData);
expect(payload.variant).toBe("parameters");
expect(Array.isArray(payload.names)).toBe(true);
expect(payload.names).toEqual(["Temp", "Hum", "Wind"]);
});
@@ -34,7 +37,8 @@ describe("Frame decode - Telemetry", () => {
const frame = Frame.fromString("SRC>DEST:TUNIT C,% ,mph");
const payload = frame.decode() as TelemetryUnitPayload;
expect(payload).not.toBeNull();
expect(payload.type).toBe("telemetry-units");
expect(payload.type).toBe(DataType.TelemetryData);
expect(payload.variant).toBe("unit");
expect(payload.units).toEqual(["C", "%", "mph"]);
});
@@ -42,7 +46,8 @@ describe("Frame decode - Telemetry", () => {
const frame = Frame.fromString("SRC>DEST:TCOEFF A:1,2 B:3,4 C:5,6");
const payload = frame.decode() as TelemetryCoefficientsPayload;
expect(payload).not.toBeNull();
expect(payload.type).toBe("telemetry-coefficients");
expect(payload.type).toBe(DataType.TelemetryData);
expect(payload.variant).toBe("coefficients");
expect(payload.coefficients.a).toEqual([1, 2]);
expect(payload.coefficients.b).toEqual([3, 4]);
expect(payload.coefficients.c).toEqual([5, 6]);
@@ -52,7 +57,8 @@ describe("Frame decode - Telemetry", () => {
const frame = Frame.fromString("SRC>DEST:TBITS 255 ProjectX");
const payload = frame.decode() as TelemetryBitSensePayload;
expect(payload).not.toBeNull();
expect(payload.type).toBe("telemetry-bitsense");
expect(payload.type).toBe(DataType.TelemetryData);
expect(payload.variant).toBe("bitsense");
expect(payload.sense).toBe(255);
expect(payload.projectName).toBe("ProjectX");
});