Skip to content

Commit

Permalink
test(lib): ensure list mapper does not fail when passed IResolvables
Browse files Browse the repository at this point in the history
Closes #910

Closes #835
  • Loading branch information
DanielMSchmidt committed May 12, 2022
1 parent c97e6be commit 0310c81
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions packages/cdktf/test/runtime.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { resolve } from "../lib/_tokens";
import { listMapper, hashMapper, anyToTerraform } from "../lib/runtime";
import { Token } from "../lib/tokens/token";
import { Intrinsic } from "../lib/tokens/private/intrinsic";

const resolveExpression = (expr: any) => resolve(null as any, expr);
describe("Runtime", () => {
Expand Down Expand Up @@ -85,5 +86,39 @@ describe("Runtime", () => {
}
`);
});

it("can be passed tokenized resolvables", () => {
const identity = jest.fn().mockImplementation((x: any) => x);
const reference = Token.asList(
"${some_resource.my_resource.some_attribute_array}"
);

expect(
resolveExpression({
x: listMapper(identity)(reference),
})
).toMatchInlineSnapshot(`
Object {
"x": "\${some_resource.my_resource.some_attribute_array}",
}
`);
});

it("can be passed untokenized resolvables", () => {
const identity = jest.fn().mockImplementation((x: any) => x);
const reference = new Intrinsic(
"${some_resource.my_resource.some_attribute_array}"
);

expect(
resolveExpression({
x: listMapper(identity)(reference),
})
).toMatchInlineSnapshot(`
Object {
"x": "\${some_resource.my_resource.some_attribute_array}",
}
`);
});
});
});

0 comments on commit 0310c81

Please sign in to comment.