import { describe, expect, test } from "bun:test";
import { TestConstants } from "@test/TestConstants";
import { Effect, pipe } from "effect";
import { InputParser } from "@/InputParser";
describe("InputParser", () => {
describe("parse()", () => {
test("Throws ParseError", () =>
pipe(
Effect.gen(function* () {
const inputParser = yield* InputParser;
yield* inputParser.parse("BAD_INPUT");
Effect.fail("Test Failed");
}),
Effect.catchTag("ParseError", (error) =>
Effect.succeed(`Caught ${error}`),
),
Effect.provide(TestConstants.Default),
Effect.provide(InputParser.Default),
Effect.runPromise,
));
});
});
import { describe, expect, test } from "bun:test";
import { TestConstants } from "@test/TestConstants";
import { Effect, pipe } from "effect";
import { InputParser } from "@/InputParser";
describe("InputParser", () => {
describe("parse()", () => {
test("Throws ParseError", () =>
pipe(
Effect.gen(function* () {
const inputParser = yield* InputParser;
yield* inputParser.parse("BAD_INPUT");
Effect.fail("Test Failed");
}),
Effect.catchTag("ParseError", (error) =>
Effect.succeed(`Caught ${error}`),
),
Effect.provide(TestConstants.Default),
Effect.provide(InputParser.Default),
Effect.runPromise,
));
});
});