26 lines
854 B
TypeScript
26 lines
854 B
TypeScript
import { describe, expect, test } from "bun:test"
|
|
import { upsertCommandRegistration } from "./command"
|
|
|
|
describe("upsertCommandRegistration", () => {
|
|
test("replaces keyed registrations", () => {
|
|
const one = () => [{ id: "one", title: "One" }]
|
|
const two = () => [{ id: "two", title: "Two" }]
|
|
|
|
const next = upsertCommandRegistration([{ key: "layout", options: one }], { key: "layout", options: two })
|
|
|
|
expect(next).toHaveLength(1)
|
|
expect(next[0]?.options).toBe(two)
|
|
})
|
|
|
|
test("keeps unkeyed registrations additive", () => {
|
|
const one = () => [{ id: "one", title: "One" }]
|
|
const two = () => [{ id: "two", title: "Two" }]
|
|
|
|
const next = upsertCommandRegistration([{ options: one }], { options: two })
|
|
|
|
expect(next).toHaveLength(2)
|
|
expect(next[0]?.options).toBe(two)
|
|
expect(next[1]?.options).toBe(one)
|
|
})
|
|
})
|