| 1 | import { assert, describe, it } from "@effect/vitest" |
| 2 | import * as Effect from "effect/Effect" |
| 3 | import * as LogLevel from "effect/LogLevel" |
| 4 | import * as References from "effect/References" |
| 5 | |
| 6 | describe("LogLevel", () => { |
| 7 | describe("isEnabled", () => { |
| 8 | it.effect("uses Info as the default minimum log level", () => |
| 9 | Effect.gen(function*() { |
| 10 | assert.isFalse(yield* LogLevel.isEnabled("Debug")) |
| 11 | assert.isTrue(yield* LogLevel.isEnabled("Info")) |
| 12 | assert.isTrue(yield* LogLevel.isEnabled("Error")) |
| 13 | })) |
| 14 | |
| 15 | it.effect("supports All and None sentinel thresholds", () => |
| 16 | Effect.gen(function*() { |
| 17 | const [debugEnabled, warnEnabled, errorEnabled] = yield* Effect.all([ |
| 18 | LogLevel.isEnabled("Debug"), |
| 19 | LogLevel.isEnabled("Warn"), |
| 20 | LogLevel.isEnabled("Error") |
| 21 | ]).pipe(Effect.provideService(References.MinimumLogLevel, "Warn")) |
| 22 | |
| 23 | assert.isFalse(debugEnabled) |
| 24 | assert.isTrue(warnEnabled) |
| 25 | assert.isTrue(errorEnabled) |
| 26 | })) |
| 27 | }) |
| 28 | }) |