42 lines · 1.3 KB · TypeScript
RawDownload
import type { PreviewSessionSnapshot, ProjectScript } from "@t3tools/contracts";import { describe, expect, it } from "vite-plus/test"; import { getConfiguredPreviewUrls, shouldShowPreviewEmptyState } from "./previewEmptyStateLogic"; const snapshot = (navStatus: PreviewSessionSnapshot["navStatus"]): PreviewSessionSnapshot => ({  threadId: "thread-1",  tabId: "tab-1",  navStatus,  canGoBack: false,  canGoForward: false,  updatedAt: "2026-06-12T20:00:00.000Z",}); describe("shouldShowPreviewEmptyState", () => {  it("shows quick-open options for a new idle browser tab", () => {    expect(shouldShowPreviewEmptyState(snapshot({ _tag: "Idle" }))).toBe(true);  });   it("shows browser content once navigation starts", () => {    expect(      shouldShowPreviewEmptyState(        snapshot({ _tag: "Loading", url: "http://localhost:5173", title: "" }),      ),    ).toBe(false);  });}); describe("getConfiguredPreviewUrls", () => {  it("collects configured preview URLs from project scripts", () => {    const scripts = [      { previewUrl: "http://localhost:5173" },      {},      { previewUrl: "http://localhost:3000" },    ] as ProjectScript[];     expect(getConfiguredPreviewUrls(scripts)).toEqual([      "http://localhost:5173",      "http://localhost:3000",    ]);  });});