dialog-workspace-create.test.ts 970 B

12345678910111213141516171819202122232425262728
  1. import { describe, expect, test } from "bun:test"
  2. import { recentConnectedWorkspaces } from "../../../../src/component/dialog-workspace-create"
  3. describe("recentConnectedWorkspaces", () => {
  4. test("returns connected workspaces sorted by time used", () => {
  5. const workspaces = [
  6. { id: "wrk_a", name: "alpha", timeUsed: 700 },
  7. { id: "wrk_b", name: "beta", timeUsed: 800 },
  8. { id: "wrk_c", name: "gamma", timeUsed: 400 },
  9. { id: "wrk_d", name: "delta", timeUsed: 300 },
  10. { id: "wrk_e", name: "epsilon", timeUsed: 200 },
  11. ]
  12. const status = {
  13. wrk_a: "connected",
  14. wrk_b: "disconnected",
  15. wrk_c: "error",
  16. wrk_d: "connected",
  17. wrk_e: "connected",
  18. } as const
  19. const { recent } = recentConnectedWorkspaces({
  20. workspaces,
  21. status: (workspaceID) => status[workspaceID as keyof typeof status],
  22. })
  23. expect(recent.map((workspace) => workspace.id)).toEqual(["wrk_a", "wrk_d", "wrk_e"])
  24. })
  25. })