-
Notifications
You must be signed in to change notification settings - Fork 145
/
issues.test.js
44 lines (40 loc) · 1.05 KB
/
issues.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
const utils = require('amplify-appsync-simulator/lib/velocity/util');
const mapper = require('amplify-appsync-simulator/lib/velocity/value-mapper/mapper');
const Velocity = require('../src/velocity')
const { Compile, parse } = Velocity;
function createVtlContext(args) {
const util = utils.create([], new Date(Date.now()), Object())
const context = {
args,
arguments: args
}
return {
util,
utils: util,
ctx: context,
context
}
}
describe('test/issues.test.js', () => {
it.only('#140', () => {
const ast = parse(`
#set( $keyFields = ["id"] )
#foreach( $entry in $util.map.copyAndRemoveAllKeys($ctx.args.input, $keyFields).entrySet() )
$entry
#end
`);
const compiler = new Compile(ast, {
valueMapper: mapper.map,
escape: false
})
const args = {
input: mapper.map({
id: '000',
timestamp: '2021-12-01T08:00:00.000Z',
})
}
const context = createVtlContext(args);
const result = compiler.render(context);
console.log(result);
});
});