Skip to content

Commit ef585e6

Browse files
HCK-10082: add complex test for generating full GraphQL schema (#83)
* HCK-10082: add complex test for generating full GraphQL schema * adjust comment * adjust comparison schema behavior * fix typo
1 parent 2e70165 commit ef585e6

File tree

4 files changed

+262
-1
lines changed

4 files changed

+262
-1
lines changed

.editorconfig

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,9 @@ indent_size = 4
1616
[*.md]
1717
trim_trailing_whitespace = false
1818

19-
[*.{sql,cql,hql,file,txt}]
19+
[*.{sql,cql,hql,file,txt,graphql}]
2020
insert_final_newline = false
21+
22+
[*.graphql]
23+
indent_style = space
24+
indent_size = 2
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/**
2+
* @import { Logger } from '../../types/types
3+
*/
4+
5+
const { describe, it } = require('node:test');
6+
const fs = require('node:fs/promises');
7+
const { promisify } = require('node:util');
8+
const { strictEqual } = require('node:assert');
9+
const { generateContainerScript } = require('../../forward_engineering/api');
10+
const containerLevelShema = require('./containerLevelSchemaAsset');
11+
const path = require('node:path');
12+
13+
const generateContainerScriptPromise = promisify(generateContainerScript);
14+
15+
/**
16+
* @type {Logger}
17+
*/
18+
const loggerMock = {
19+
log: () => {},
20+
};
21+
22+
const deleteSchemaVersionAndDate = script => script.split('\n').slice(3).join('\n');
23+
24+
describe(() => {
25+
it('should generate valid GraphQL schema from provided containerLevelSchema', async () => {
26+
const result = await generateContainerScriptPromise(containerLevelShema, loggerMock);
27+
const rawSchema = (await fs.readFile(path.join(__dirname, './expectedSchema.graphql'))).toString();
28+
29+
// remove schema version and date from the scripts to avoid differences
30+
const resultSchema = deleteSchemaVersionAndDate(result);
31+
const expectedSchema = deleteSchemaVersionAndDate(rawSchema);
32+
33+
strictEqual(resultSchema, expectedSchema);
34+
});
35+
});

0 commit comments

Comments
 (0)