import assert from "node:assert/strict" import test from "node:test" import {resolveNativePushState} from "./native_push_state.mjs" test("a configured registration is active only for the current account", () => { assert.deepEqual( resolveNativePushState({ configured: true, requested: true, serverDeviceId: "device-current", activeDeviceIds: ["device-current", "device-other"] }), { configured: true, registered: true, stale: false, serverDeviceId: "device-current" } ) }) test("a device registered to another account is stale", () => { assert.deepEqual( resolveNativePushState({ configured: true, requested: true, serverDeviceId: "device-previous-account", activeDeviceIds: ["device-current-account"] }), { configured: true, registered: false, stale: true, serverDeviceId: "device-previous-account" } ) }) test("a requested token without a server device remains eligible for registration", () => { assert.deepEqual( resolveNativePushState({ configured: true, requested: true, serverDeviceId: "", activeDeviceIds: [] }), { configured: true, registered: false, stale: false, serverDeviceId: "" } ) }) test("an unconfigured Android client is neither registered nor stale", () => { assert.deepEqual( resolveNativePushState({ configured: false, requested: true, serverDeviceId: "device-current", activeDeviceIds: ["device-current"] }), { configured: false, registered: false, stale: false, serverDeviceId: "device-current" } ) })