warming.test.ts 863 B

123456789101112131415161718192021222324
  1. import { describe, expect, test } from "bun:test"
  2. import { Duration, Schema } from "effect"
  3. import { Config } from "../../src/config"
  4. const decode = Schema.decodeUnknownSync(Config.Info)
  5. describe("config warming", () => {
  6. test("accepts boolean enablement", () => {
  7. expect(decode({}).warming).toBeUndefined()
  8. expect(decode({ warming: false }).warming).toBe(false)
  9. expect(decode({ warming: true }).warming).toBe(true)
  10. })
  11. test("decodes custom durations", () => {
  12. const warming = decode({
  13. warming: { prompt: "Reply pong", interval: "2 minutes", duration: "1 hour" },
  14. }).warming
  15. expect(typeof warming).toBe("object")
  16. if (typeof warming !== "object") return
  17. expect(warming.prompt).toBe("Reply pong")
  18. expect(warming.interval).toEqual(Duration.minutes(2))
  19. expect(warming.duration).toEqual(Duration.hours(1))
  20. })
  21. })