"use strict"; const test = require("node:test"); const assert = require("node:assert/strict"); const { transition } = require("./state"); test("first observation records a baseline without email", () => assert.equal(transition(null, { ok: true, detail: "200" }).notify, false)); test("steady online state sends no email", () => assert.equal(transition({ ok: true, detail: "200" }, { ok: true, detail: "200" }).notify, false)); test("online to offline and offline to online both notify", () => { assert.deepEqual(transition({ ok: true, detail: "200" }, { ok: false, detail: "timeout" }).kind, "anomaly"); assert.deepEqual(transition({ ok: false, detail: "timeout" }, { ok: true, detail: "200" }).kind, "recovered"); });