-
Notifications
You must be signed in to change notification settings - Fork 7
/
DefaultFormGenerator.test.js
33 lines (26 loc) · 1.19 KB
/
DefaultFormGenerator.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
import Constants from '../../src/constants/Constants';
import FormGenerator from '../../src/model/FormGenerator';
import DefaultFormGenerator from '../../src/model/DefaultFormGenerator';
describe('Default form generator', () => {
let textValue;
beforeEach(() => {
textValue = 'masterchief';
});
it('generates empty one-step wizard as a default form', async () => {
const form = DefaultFormGenerator.generateForm();
const [formProperties, structure] = FormGenerator.constructDefaultForm(null);
console.log(formProperties.formQuestions)
expect(formProperties.formQuestions.length).toEqual(1);
expect(structure).toEqual({ root: form['@graph'][0] });
expect(formProperties.formQuestions[0][Constants.HAS_SUBQUESTION]).toEqual([
form['@graph'][0][Constants.HAS_SUBQUESTION][0][Constants.HAS_SUBQUESTION][0]
]);
});
it('creates a clone of the form template, so that modifications to the form do not affect the original template', () => {
const formOne = DefaultFormGenerator.generateForm();
let formTwo;
formOne['newAttribute'] = 12345;
formTwo = DefaultFormGenerator.generateForm();
expect(formTwo['newAttribute']).not.toBeDefined();
});
});