local.test.ts 690 B

12345678910111213141516171819202122
  1. import { expect, test } from "bun:test"
  2. import { parseModel, recentModels } from "../../src/context/local"
  3. test("parses model IDs containing slashes", () => {
  4. expect(parseModel("provider/family/model")).toEqual({
  5. providerID: "provider",
  6. modelID: "family/model",
  7. })
  8. })
  9. test("moves a model to the front, deduplicates, and limits recents", () => {
  10. const recent = Array.from({ length: 12 }, (_, index) => ({
  11. providerID: "provider",
  12. modelID: `model-${index}`,
  13. }))
  14. expect(recentModels({ providerID: "provider", modelID: "model-5" }, recent)).toEqual([
  15. { providerID: "provider", modelID: "model-5" },
  16. ...recent.slice(0, 5),
  17. ...recent.slice(6, 10),
  18. ])
  19. })