1import * as Provider from "@/Provider";
2import { Random, RandomProvider } from "@/Random";
3import { inMemoryState } from "@/State";
4import * as Test from "@/Test/Alchemy";
5import { describe, expect } from "alchemy-test";
6import * as Effect from "effect/Effect";
7
8const { test } = Test.make({
9 providers: RandomProvider(),
10 state: inMemoryState(),
11});
12
13describe("Alchemy.Random", { tags: ["unit", "local"] }, () => {
14 test.provider("list returns [] for the non-listable random secret", (stack) =>
15 Effect.gen(function* () {
16 yield* stack.destroy();
17
18 yield* stack.deploy(
19 Effect.gen(function* () {
20 return yield* Random("list-secret");
21 }),
22 );
23
24 const provider = yield* Provider.findProvider(Random);
25 expect(yield* provider.list()).toEqual([]);
26
27 yield* stack.destroy();
28 }),
29 );
30});