25 lines · 888 B · TypeScript
RawDownload
import { describe, expect, it } from "vitest"; import { extractPairingUrlFromQrPayload } from "./pairing"; describe("extractPairingUrlFromQrPayload", () => {  it("trims raw pairing urls from qr payloads", () => {    expect(      extractPairingUrlFromQrPayload("  https://remote.example.com/pair#token=pairing-token  "),    ).toBe("https://remote.example.com/pair#token=pairing-token");  });   it("unwraps mobile deep links that carry an encoded pairing url", () => {    expect(      extractPairingUrlFromQrPayload(        "t3code://pair?pairingUrl=https%3A%2F%2Fremote.example.com%2Fpair%23token%3Dpairing-token",      ),    ).toBe("https://remote.example.com/pair#token=pairing-token");  });   it("rejects empty qr payloads", () => {    expect(() => extractPairingUrlFromQrPayload("   ")).toThrow(      "Scanned QR code did not contain a pairing URL.",    );  });});