File size: 1,102 Bytes
0ccd578
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import fetch from 'node-fetch';
import { TeaQLClient } from './src/tfp/client';
import { Q } from './src/generated/Q';
import { QueryParser } from './src/parser/dsl';

const client = new TeaQLClient({
  baseUrl: 'http://127.0.0.1:3001',
  fetch: fetch as any
});

const context = { client };

async function runTest() {
  try {
    console.log("Testing QueryParser (Filter)...");
    const queryStr1 = 'Q.tasks().withNameContaining("bug")';
    console.log("Parsing:", queryStr1);
    const parsedRequest1 = QueryParser.parse(queryStr1);
    const parsedTasks1 = await parsedRequest1.executeForList(context);
    console.log("Parsed Tasks result:", parsedTasks1);

    console.log("\nTesting QueryParser (Aggregation + GroupBy)...");
    const queryStr2 = 'Q.taskStatuses().groupByDisplayOrder().sumProgress()';
    console.log("Parsing:", queryStr2);
    const parsedRequest2 = QueryParser.parse(queryStr2);
    const parsedTasks2 = await parsedRequest2.executeForList(context);
    console.log("Parsed Aggregation result:", parsedTasks2);

  } catch (err) {
    console.error(err);
  }
}

runTest();