UNPKG

@dash0/sdk-web

Version:

Dash0's Web SDK to collect telemetry from end-users' web browsers

25 lines (24 loc) 1.11 kB
import { describe, expect, it, vi } from "vitest"; import { generateSessionId } from "./session-id"; import * as localStorage from "./local-storage"; describe("generateSessionId", () => { it("returns a session ID of the expected length", () => { const sessionId = generateSessionId(); expect(sessionId).toHaveLength(16); }); it("returns a session ID with proper flags when storage is supported", () => { vi.spyOn(localStorage, "isSupported", "get").mockReturnValue(true); const sessionId = generateSessionId(); expect(sessionId.startsWith("00")).toBe(true); }); it("returns a session ID with proper flags when storage is NOT supported", () => { vi.spyOn(localStorage, "isSupported", "get").mockReturnValue(false); const sessionId = generateSessionId(); expect(sessionId.startsWith("01")).toBe(true); }); it("returns a unique session ID on each call", () => { const sessionId1 = generateSessionId(); const sessionId2 = generateSessionId(); expect(sessionId1).not.toBe(sessionId2); }); });