@inseefr/lunatic 0.3.5-experimental → 0.3.6-experimental

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/lib/index.js +4 -4
  2. package/lib/index.js.map +1 -1
  3. package/package.json +2 -2
  4. package/src/components/breadcrumb/component.js +29 -29
  5. package/src/components/button/component.js +53 -53
  6. package/src/components/button/index.js +1 -1
  7. package/src/components/checkbox/index.js +3 -3
  8. package/src/components/datepicker/index.js +1 -1
  9. package/src/components/declarations/index.js +1 -1
  10. package/src/components/declarations/wrappers/list-declarations-wrapper.js +232 -232
  11. package/src/components/filter-description/component.js +42 -42
  12. package/src/components/icon/component.js +33 -33
  13. package/src/components/input/index.js +2 -2
  14. package/src/components/loop/index.js +1 -1
  15. package/src/components/loop-constructor/wrapper/body-component.js +13 -1
  16. package/src/components/radio/index.js +1 -1
  17. package/src/components/sequence/index.js +1 -1
  18. package/src/components/subsequence/index.js +1 -1
  19. package/src/components/suggester/check-store.js +70 -70
  20. package/src/components/tooltip/response.js +52 -52
  21. package/src/stories/checkbox-boolean/data-forced.json +48 -48
  22. package/src/stories/icons/icons.stories.js +16 -16
  23. package/src/stories/questionnaire/kish.json +275 -0
  24. package/src/stories/questionnaire/questionnaire.stories.js +12 -0
  25. package/src/stories/utils/custom-lunatic.scss +23 -23
  26. package/src/tests/components/breadcrumb.spec.js +13 -13
  27. package/src/tests/components/button.spec.js +11 -11
  28. package/src/tests/components/checkbox-boolean.spec.js +45 -45
  29. package/src/tests/components/checkbox-group.spec.js +53 -53
  30. package/src/tests/components/checkbox-one.spec.js +32 -32
  31. package/src/tests/components/datepicker.spec.js +22 -22
  32. package/src/tests/components/declarations-wrappers/input-declarations-wrapper.spec.js +67 -67
  33. package/src/tests/components/declarations-wrappers/list-declarations-wrapper.spec.js +52 -52
  34. package/src/tests/components/declarations-wrappers/simple-declarations-wrapper.spec.js +21 -21
  35. package/src/tests/components/declarations.spec.js +46 -46
  36. package/src/tests/components/input.spec.js +18 -18
  37. package/src/tests/components/loops/loop-static.json +66 -66
  38. package/src/tests/components/loops/loop.json +258 -258
  39. package/src/tests/components/loops/loop.spec.js +30 -30
  40. package/src/tests/components/loops/roster-for-loop.spec.js +18 -18
  41. package/src/tests/components/progress-bar.spec.js +15 -15
  42. package/src/tests/components/radio.spec.js +27 -27
  43. package/src/tests/components/sequence.spec.js +9 -9
  44. package/src/tests/components/subsequence.spec.js +9 -9
  45. package/src/tests/components/table.spec.js +11 -11
  46. package/src/tests/components/textarea.spec.js +18 -18
  47. package/src/tests/components/tooltip.spec.js +25 -25
  48. package/src/tests/setup/setupTests.js +4 -4
  49. package/src/tests/utils/lib/alphabet.spec.js +36 -36
  50. package/src/tests/utils/lib/array.spec.js +22 -22
  51. package/src/tests/utils/lib/checkbox/group.spec.js +72 -72
  52. package/src/tests/utils/lib/decorator/title-decorator.spec.js +12 -12
  53. package/src/tests/utils/lib/input-number.spec.js +18 -18
  54. package/src/tests/utils/lib/items-positioning.spec.js +17 -17
  55. package/src/tests/utils/lib/label-position.spec.js +22 -22
  56. package/src/tests/utils/lib/loops/bindings.spec.js +75 -75
  57. package/src/tests/utils/lib/loops/shared.spec.js +82 -82
  58. package/src/tests/utils/lib/missing/missing.spec.js +74 -74
  59. package/src/tests/utils/lib/missing/mock.js +137 -137
  60. package/src/tests/utils/lib/pagination/shared.spec.js +42 -42
  61. package/src/tests/utils/lib/responses.spec.js +64 -64
  62. package/src/tests/utils/lib/style.spec.js +26 -26
  63. package/src/tests/utils/lib/tooltip/build-response.spec.js +95 -95
  64. package/src/tests/utils/lib/tooltip/content.spec.js +109 -109
  65. package/src/tests/utils/to-expose/handler/handler.spec.js +94 -94
  66. package/src/tests/utils/to-expose/handler/questionnaire.json +158 -158
  67. package/src/tests/utils/to-expose/handler/results/index.js +6 -6
  68. package/src/tests/utils/to-expose/handler/results/res-double.json +158 -158
  69. package/src/tests/utils/to-expose/handler/results/res-input-collected.json +158 -158
  70. package/src/tests/utils/to-expose/handler/results/res-loop.json +158 -158
  71. package/src/tests/utils/to-expose/handler/results/res-matrix.json +158 -158
  72. package/src/tests/utils/to-expose/handler/results/res-responses.json +158 -158
  73. package/src/tests/utils/to-expose/hooks/use-lunatic.spec.js +46 -46
  74. package/src/tests/utils/to-expose/init-questionnaire/data.json +12 -12
  75. package/src/tests/utils/to-expose/init-questionnaire/init-questionnaire.spec.js +19 -19
  76. package/src/tests/utils/to-expose/interpret/interpret.spec.js +48 -48
  77. package/src/tests/utils/to-expose/state/questionnaire.json +61 -61
  78. package/src/tests/utils/to-expose/state/results.js +78 -78
  79. package/src/utils/lib/tooltip/build-response.js +41 -41
  80. package/src/utils/store-tools/create/index.js +1 -1
  81. package/src/utils/store-tools/create/update-store-info.js +26 -26
  82. package/src/utils/store-tools/index.js +5 -5
  83. package/src/utils/to-expose/handler.js +12 -14
  84. package/src/utils/to-expose/hooks/lunatic-split.js +5 -2
  85. package/src/utils/to-expose/hooks/lunatic.js +5 -2
@@ -0,0 +1,275 @@
1
+ {
2
+ "maxPage": "6",
3
+ "components": [
4
+ {
5
+ "id": "nb",
6
+ "componentType": "InputNumber",
7
+ "page": "1",
8
+ "min": 1,
9
+ "max": 15,
10
+ "decimals": 0,
11
+ "label": "In total, counting you, how many people live in this dwelling?",
12
+ "conditionFilter": {
13
+ "value": "true",
14
+ "bindingDependencies": []
15
+ },
16
+ "bindingDependencies": ["NB"],
17
+ "response": { "name": "NB" }
18
+ },
19
+ {
20
+ "id": "prenom_loop",
21
+ "componentType": "Loop",
22
+ "page": "2",
23
+ "depth": 1,
24
+ "paginatedLoop": false,
25
+ "conditionFilter": { "value": "true" },
26
+ "bindingDependencies": ["NB", "FIRST_NAME"],
27
+ "loopDependencies": ["NB"],
28
+ "lines": { "min": "cast(NB,integer)", "max": "cast(NB,integer)" },
29
+ "components": [
30
+ {
31
+ "id": "sub_first_name",
32
+ "componentType": "Subsequence",
33
+ "page": "2",
34
+ "label": "First name",
35
+ "conditionFilter": {
36
+ "value": "true"
37
+ },
38
+ "bindingDependencies": ["FIRST_NAME", "NB"]
39
+ },
40
+ {
41
+ "id": "prenom_input",
42
+ "componentType": "Input",
43
+ "mandatory": false,
44
+ "page": "10",
45
+ "maxLength": 20,
46
+ "conditionFilter": { "value": "true" },
47
+ "bindingDependencies": ["NB", "FIRST_NAME"],
48
+ "response": { "name": "FIRST_NAME" }
49
+ }
50
+ ]
51
+ },
52
+ {
53
+ "id": "date_loop",
54
+ "componentType": "Loop",
55
+ "page": "3",
56
+ "maxPage": "2",
57
+ "iterations": "count(FIRST_NAME)",
58
+ "depth": 1,
59
+ "paginatedLoop": true,
60
+ "conditionFilter": { "value": "true" },
61
+ "bindingDependencies": ["FIRST_NAME", "BIRTH_DATE"],
62
+ "loopDependencies": ["FIRST_NAME"],
63
+ "components": [
64
+ {
65
+ "id": "sub_date",
66
+ "componentType": "Subsequence",
67
+ "page": "3.1",
68
+ "label": "\"Etat civil de \" || FIRST_NAME",
69
+ "conditionFilter": { "value": "true" },
70
+ "bindingDependencies": ["FIRST_NAME"]
71
+ },
72
+ {
73
+ "id": "date",
74
+ "componentType": "Datepicker",
75
+ "mandatory": false,
76
+ "page": "3.2",
77
+ "min": "1850-01-01",
78
+ "max": "2100-01-01",
79
+ "label": "\"Quelle est la date de naissance de \" || FIRST_NAME ||\" ?\"",
80
+ "conditionFilter": { "value": "true" },
81
+ "bindingDependencies": ["FIRST_NAME", "BIRTH_DATE"],
82
+ "dateFormat": "YYYY-MM-DD",
83
+ "response": { "name": "BIRTH_DATE" }
84
+ }
85
+ ]
86
+ },
87
+ {
88
+ "id": "kish_choice",
89
+ "componentType": "Loop",
90
+ "page": "4",
91
+ "depth": 1,
92
+ "paginatedLoop": false,
93
+ "conditionFilter": {
94
+ "value": "true"
95
+ },
96
+ "bindingDependencies": ["NB", "FIRST_NAME", "IS_KISH"],
97
+ "loopDependencies": ["NB"],
98
+ "lines": { "min": "cast(NB,integer)", "max": "cast(NB,integer)" },
99
+ "components": [
100
+ {
101
+ "id": "kish_seq",
102
+ "componentType": "Sequence",
103
+ "page": "4",
104
+ "label": "\"Kish person is: \" || FIRST_NAME",
105
+ "conditionFilter": {
106
+ "value": "NB_POTENTIAL_KISH = 1 and KISH_INDICATOR = 1",
107
+ "bindingDependencies": ["KISH_INDICATOR", "NB_POTENTIAL_KISH"]
108
+ },
109
+ "bindingDependencies": ["FIRST_NAME"]
110
+ },
111
+ {
112
+ "id": "sub_is_kish",
113
+ "componentType": "Radio",
114
+ "page": "4",
115
+ "label": "\"Is \" || FIRST_NAME || \" is the individual Kish?\"",
116
+ "conditionFilter": {
117
+ "value": "NB_POTENTIAL_KISH > 1 and KISH_INDICATOR = 1",
118
+ "bindingDependencies": ["KISH_INDICATOR", "NB_POTENTIAL_KISH"]
119
+ },
120
+ "options": [
121
+ { "value": "1", "label": "Yes" },
122
+ { "value": "0", "label": "No" }
123
+ ],
124
+ "bindingDependencies": ["FIRST_NAME", "KISH_INDICATOR"],
125
+ "dateFormat": "YYYY-MM-DD",
126
+ "response": { "name": "IS_KISH" }
127
+ }
128
+ ]
129
+ },
130
+ {
131
+ "id": "kish_loop",
132
+ "componentType": "Loop",
133
+ "page": "5",
134
+ "maxPage": "1",
135
+ "iterations": "count(FIRST_NAME)",
136
+ "depth": 1,
137
+ "paginatedLoop": true,
138
+ "conditionFilter": { "value": "true" },
139
+ "bindingDependencies": ["FIRST_NAME", "AGE_KISH"],
140
+ "loopDependencies": ["FIRST_NAME"],
141
+ "components": [
142
+ {
143
+ "id": "age_kish",
144
+ "componentType": "InputNumber",
145
+ "mandatory": false,
146
+ "page": "5.1",
147
+ "label": "FIRST_NAME || \", quel est votre âge ?\"",
148
+ "conditionFilter": {
149
+ "value": "IS_KISH = \"1\" or (NB_POTENTIAL_KISH = 1 and KISH_INDICATOR = 1)",
150
+ "bindingDependencies": [
151
+ "IS_KISH",
152
+ "NB_POTENTIAL_KISH",
153
+ "KISH_INDICATOR"
154
+ ]
155
+ },
156
+ "bindingDependencies": ["FIRST_NAME", "AGE_KISH"],
157
+ "response": { "name": "AGE_KISH" }
158
+ }
159
+ ]
160
+ },
161
+ {
162
+ "id": "end",
163
+ "componentType": "Sequence",
164
+ "label": "End",
165
+ "page": "6",
166
+ "conditionFilter": { "value": "true" }
167
+ }
168
+ ],
169
+ "variables": [
170
+ {
171
+ "variableType": "COLLECTED",
172
+ "name": "NB",
173
+ "componentRef": "nb",
174
+ "values": {
175
+ "PREVIOUS": null,
176
+ "COLLECTED": null,
177
+ "FORCED": null,
178
+ "EDITED": null,
179
+ "INPUTED": null
180
+ }
181
+ },
182
+ {
183
+ "variableType": "COLLECTED",
184
+ "name": "FIRST_NAME",
185
+ "componentRef": "prenom_loop",
186
+ "values": {
187
+ "PREVIOUS": [null],
188
+ "COLLECTED": [null],
189
+ "FORCED": [null],
190
+ "EDITED": [null],
191
+ "INPUTED": [null]
192
+ }
193
+ },
194
+ {
195
+ "variableType": "COLLECTED",
196
+ "name": "BIRTH_DATE",
197
+ "componentRef": "date_loop",
198
+ "values": {
199
+ "PREVIOUS": [null],
200
+ "COLLECTED": [null],
201
+ "FORCED": [null],
202
+ "EDITED": [null],
203
+ "INPUTED": [null]
204
+ }
205
+ },
206
+ {
207
+ "variableType": "COLLECTED",
208
+ "name": "IS_KISH",
209
+ "componentRef": "kish_choice",
210
+ "values": {
211
+ "PREVIOUS": [null],
212
+ "COLLECTED": [null],
213
+ "FORCED": [null],
214
+ "EDITED": [null],
215
+ "INPUTED": [null]
216
+ }
217
+ },
218
+ {
219
+ "variableType": "COLLECTED",
220
+ "name": "AGE_KISH",
221
+ "componentRef": "kish_loop",
222
+ "values": {
223
+ "PREVIOUS": [null],
224
+ "COLLECTED": [null],
225
+ "FORCED": [null],
226
+ "EDITED": [null],
227
+ "INPUTED": [null]
228
+ }
229
+ },
230
+ {
231
+ "variableType": "CALCULATED",
232
+ "name": "BIRTH_MONTH_INT",
233
+ "expression": "cast(cast(cast(BIRTH_DATE, date, \"YYYY-MM-DD\"), string, \"MM\"), integer)",
234
+ "bindingDependencies": ["BIRTH_DATE"],
235
+ "shapeFrom": "FIRST_NAME"
236
+ },
237
+ {
238
+ "variableType": "CALCULATED",
239
+ "name": "BIRTH_DAY_STRING",
240
+ "expression": "cast(cast(BIRTH_DATE, date, \"YYYY-MM-DD\"), string, \"DD\")",
241
+ "bindingDependencies": ["BIRTH_DATE"],
242
+ "shapeFrom": "FIRST_NAME"
243
+ },
244
+ {
245
+ "variableType": "CALCULATED",
246
+ "name": "KISH_SCORE",
247
+ "expression": "cast(if BIRTH_MONTH_INT < 6 then BIRTH_MONTH_INT + 12 else BIRTH_MONTH_INT, string) || \".\" || BIRTH_DAY_STRING, number)",
248
+ "bindingDependencies": [
249
+ "BIRTH_DATE",
250
+ "BIRTH_MONTH_INT",
251
+ "BIRTH_DAY_STRING"
252
+ ],
253
+ "shapeFrom": "FIRST_NAME"
254
+ },
255
+ {
256
+ "variableType": "CALCULATED",
257
+ "name": "KISH_MIN",
258
+ "expression": "min(KISH_SCORE)",
259
+ "bindingDependencies": ["BIRTH_DATE", "KISH_SCORE"]
260
+ },
261
+ {
262
+ "variableType": "CALCULATED",
263
+ "name": "NB_POTENTIAL_KISH",
264
+ "expression": "sum(KISH_INDICATOR)",
265
+ "bindingDependencies": ["BIRTH_DATE", "KISH_INDICATOR"]
266
+ },
267
+ {
268
+ "variableType": "CALCULATED",
269
+ "name": "KISH_INDICATOR",
270
+ "expression": "if KISH_SCORE = KISH_MIN then 1 else 0",
271
+ "bindingDependencies": ["BIRTH_DATE", "KISH_SCORE", "KISH_MIN"],
272
+ "shapeFrom": "FIRST_NAME"
273
+ }
274
+ ]
275
+ }
@@ -11,6 +11,7 @@ import logementSequence from './logement-sequence';
11
11
  import dataLogement from './data-logement';
12
12
  import simpsons from './simpsons';
13
13
  import arithmetic from './arithmetic';
14
+ import kish from './kish';
14
15
  import arithmeticManagement from './arithmetic-management';
15
16
  import updateExternalQuestionnaire from './update-external/questionnaire';
16
17
  import updateExternalData from './update-external/data';
@@ -92,6 +93,17 @@ paginated.addWithJSX('Calculated Variables', () => (
92
93
  />
93
94
  ));
94
95
 
96
+ paginated.addWithJSX('Kish', () => (
97
+ <Orchestrator
98
+ id="props"
99
+ source={kish}
100
+ features={select('Features', featuresOptions, ['VTL', 'MD'])}
101
+ positioning={select('Items positioning', positioningOptions, 'DEFAULT')}
102
+ disabled={boolean('Disabled', false)}
103
+ pagination
104
+ />
105
+ ));
106
+
95
107
  paginated.addWithJSX('Logement', () => (
96
108
  <OrchestratorSplit
97
109
  id="props"
@@ -1,23 +1,23 @@
1
- * {
2
- box-sizing: border-box;
3
- --color-primary-dark: #2a5885;
4
- --color-primary-light: #5181b8;
5
- --color-primary-main: #4a73a4;
6
- --color-primary-contrast-text: #ffffff;
7
-
8
- --color-secondary-dark: #14202d;
9
- --color-secondary-light: #f7f8fa;
10
- --color-secondary-main: #1a293b;
11
- --color-secondary-contrast-text: #ffffff;
12
-
13
- --color-very-light: #dbe4ef;
14
- --color-very-very-light: #e6eaee;
15
- --color-current-item: #0d823e;
16
-
17
- --color-error: #f50c0c;
18
- --color-disabled: rgb(235, 235, 228);
19
- }
20
-
21
- .pagination {
22
- margin-top: 2em;
23
- }
1
+ * {
2
+ box-sizing: border-box;
3
+ --color-primary-dark: #2a5885;
4
+ --color-primary-light: #5181b8;
5
+ --color-primary-main: #4a73a4;
6
+ --color-primary-contrast-text: #ffffff;
7
+
8
+ --color-secondary-dark: #14202d;
9
+ --color-secondary-light: #f7f8fa;
10
+ --color-secondary-main: #1a293b;
11
+ --color-secondary-contrast-text: #ffffff;
12
+
13
+ --color-very-light: #dbe4ef;
14
+ --color-very-very-light: #e6eaee;
15
+ --color-current-item: #0d823e;
16
+
17
+ --color-error: #f50c0c;
18
+ --color-disabled: rgb(235, 235, 228);
19
+ }
20
+
21
+ .pagination {
22
+ margin-top: 2em;
23
+ }
@@ -1,13 +1,13 @@
1
- import React from 'react';
2
- import { shallow } from 'enzyme';
3
- import { Breadcrumb } from 'components';
4
-
5
- describe('breadcrumb', () => {
6
- it('renders without crashing', () => {
7
- shallow(<Breadcrumb elements={[]} />);
8
- });
9
- it('renders with elements', () => {
10
- const wrapper = shallow(<Breadcrumb elements={['One', 'Two']} />);
11
- expect(wrapper.find('.breadcrumb-lunatic').children()).toHaveLength(2);
12
- });
13
- });
1
+ import React from 'react';
2
+ import { shallow } from 'enzyme';
3
+ import { Breadcrumb } from 'components';
4
+
5
+ describe('breadcrumb', () => {
6
+ it('renders without crashing', () => {
7
+ shallow(<Breadcrumb elements={[]} />);
8
+ });
9
+ it('renders with elements', () => {
10
+ const wrapper = shallow(<Breadcrumb elements={['One', 'Two']} />);
11
+ expect(wrapper.find('.breadcrumb-lunatic').children()).toHaveLength(2);
12
+ });
13
+ });
@@ -1,11 +1,11 @@
1
- import React from 'react';
2
- import { shallow } from 'enzyme';
3
- import { Button } from 'components';
4
-
5
- describe('button', () => {
6
- const onClick = jest.fn();
7
-
8
- it('renders without crashing', () => {
9
- shallow(<Button value="Button" onClick={onClick} />);
10
- });
11
- });
1
+ import React from 'react';
2
+ import { shallow } from 'enzyme';
3
+ import { Button } from 'components';
4
+
5
+ describe('button', () => {
6
+ const onClick = jest.fn();
7
+
8
+ it('renders without crashing', () => {
9
+ shallow(<Button value="Button" onClick={onClick} />);
10
+ });
11
+ });
@@ -1,45 +1,45 @@
1
- import React from 'react';
2
- import { shallow, mount } from 'enzyme';
3
- import { fakeSchedulers } from 'rxjs-marbles/jest';
4
- import { CheckboxBoolean } from 'components';
5
-
6
- describe('checkbox-boolean', () => {
7
- const handleChange = jest.fn();
8
- const defaultProps = { id: 'id', label: '', handleChange };
9
-
10
- it('renders without crashing', () => {
11
- shallow(<CheckboxBoolean {...defaultProps} />);
12
- });
13
-
14
- it('returns management component', () => {
15
- shallow(<CheckboxBoolean {...defaultProps} label="label" management />);
16
- });
17
-
18
- it('returns disabled component', () => {
19
- shallow(<CheckboxBoolean {...defaultProps} label="label" disabled />);
20
- });
21
-
22
- it('renders firing useEffect', () => {
23
- const wrapper = mount(<CheckboxBoolean {...defaultProps} />);
24
- wrapper.setProps({ focused: true });
25
- });
26
-
27
- it('test VERTICAL positioning', () => {
28
- shallow(<CheckboxBoolean {...defaultProps} positioning="VERTICAL" />);
29
- });
30
-
31
- it('should trigger the change event', () => {
32
- fakeSchedulers((advance) => {
33
- const wrapper = shallow(<CheckboxBoolean {...defaultProps} />);
34
- wrapper.find('input').simulate('change', {
35
- target: {
36
- checked: true,
37
- },
38
- });
39
- advance(400);
40
- wrapper.update();
41
- expect(handleChange).toHaveBeenCalled();
42
- expect(handleChange).toHaveBeenCalledWith({ '': true });
43
- });
44
- });
45
- });
1
+ import React from 'react';
2
+ import { shallow, mount } from 'enzyme';
3
+ import { fakeSchedulers } from 'rxjs-marbles/jest';
4
+ import { CheckboxBoolean } from 'components';
5
+
6
+ describe('checkbox-boolean', () => {
7
+ const handleChange = jest.fn();
8
+ const defaultProps = { id: 'id', label: '', handleChange };
9
+
10
+ it('renders without crashing', () => {
11
+ shallow(<CheckboxBoolean {...defaultProps} />);
12
+ });
13
+
14
+ it('returns management component', () => {
15
+ shallow(<CheckboxBoolean {...defaultProps} label="label" management />);
16
+ });
17
+
18
+ it('returns disabled component', () => {
19
+ shallow(<CheckboxBoolean {...defaultProps} label="label" disabled />);
20
+ });
21
+
22
+ it('renders firing useEffect', () => {
23
+ const wrapper = mount(<CheckboxBoolean {...defaultProps} />);
24
+ wrapper.setProps({ focused: true });
25
+ });
26
+
27
+ it('test VERTICAL positioning', () => {
28
+ shallow(<CheckboxBoolean {...defaultProps} positioning="VERTICAL" />);
29
+ });
30
+
31
+ it('should trigger the change event', () => {
32
+ fakeSchedulers((advance) => {
33
+ const wrapper = shallow(<CheckboxBoolean {...defaultProps} />);
34
+ wrapper.find('input').simulate('change', {
35
+ target: {
36
+ checked: true,
37
+ },
38
+ });
39
+ advance(400);
40
+ wrapper.update();
41
+ expect(handleChange).toHaveBeenCalled();
42
+ expect(handleChange).toHaveBeenCalledWith({ '': true });
43
+ });
44
+ });
45
+ });
@@ -1,53 +1,53 @@
1
- import React from 'react';
2
- import { shallow, mount } from 'enzyme';
3
- import { fakeSchedulers } from 'rxjs-marbles/jest';
4
- import { CheckboxGroup } from 'components';
5
-
6
- describe('checkbox-group', () => {
7
- const handleChange = jest.fn();
8
- const responses = [
9
- {
10
- id: '1',
11
- response: { name: 'a', values: { COLLECTED: true } },
12
- label: 'France',
13
- },
14
- {
15
- id: '2',
16
- response: { name: 'b', values: { COLLECTED: false } },
17
- label: 'Italy',
18
- },
19
- ];
20
- const defaultProps = { id: 'id', handleChange, responses };
21
-
22
- it('returns management component', () => {
23
- shallow(<CheckboxGroup {...defaultProps} management />);
24
- });
25
-
26
- it('returns disabled component', () => {
27
- shallow(<CheckboxGroup {...defaultProps} label="label" disabled />);
28
- });
29
-
30
- it('renders firing useEffect', () => {
31
- const wrapper = mount(<CheckboxGroup {...defaultProps} />);
32
- wrapper.setProps({ focused: true });
33
- });
34
-
35
- it('should trigger the change event', () => {
36
- fakeSchedulers((advance) => {
37
- const wrapper = shallow(<CheckboxGroup {...defaultProps} />);
38
- wrapper
39
- .find('input')
40
- .first()
41
- .simulate('change', {
42
- target: {
43
- checked: false,
44
- },
45
- });
46
- advance(400);
47
- wrapper.update();
48
- expect(handleChange).toHaveBeenCalled();
49
- /*Cause specificHandler*/
50
- expect(handleChange).toHaveBeenCalledWith({ a: null });
51
- });
52
- });
53
- });
1
+ import React from 'react';
2
+ import { shallow, mount } from 'enzyme';
3
+ import { fakeSchedulers } from 'rxjs-marbles/jest';
4
+ import { CheckboxGroup } from 'components';
5
+
6
+ describe('checkbox-group', () => {
7
+ const handleChange = jest.fn();
8
+ const responses = [
9
+ {
10
+ id: '1',
11
+ response: { name: 'a', values: { COLLECTED: true } },
12
+ label: 'France',
13
+ },
14
+ {
15
+ id: '2',
16
+ response: { name: 'b', values: { COLLECTED: false } },
17
+ label: 'Italy',
18
+ },
19
+ ];
20
+ const defaultProps = { id: 'id', handleChange, responses };
21
+
22
+ it('returns management component', () => {
23
+ shallow(<CheckboxGroup {...defaultProps} management />);
24
+ });
25
+
26
+ it('returns disabled component', () => {
27
+ shallow(<CheckboxGroup {...defaultProps} label="label" disabled />);
28
+ });
29
+
30
+ it('renders firing useEffect', () => {
31
+ const wrapper = mount(<CheckboxGroup {...defaultProps} />);
32
+ wrapper.setProps({ focused: true });
33
+ });
34
+
35
+ it('should trigger the change event', () => {
36
+ fakeSchedulers((advance) => {
37
+ const wrapper = shallow(<CheckboxGroup {...defaultProps} />);
38
+ wrapper
39
+ .find('input')
40
+ .first()
41
+ .simulate('change', {
42
+ target: {
43
+ checked: false,
44
+ },
45
+ });
46
+ advance(400);
47
+ wrapper.update();
48
+ expect(handleChange).toHaveBeenCalled();
49
+ /*Cause specificHandler*/
50
+ expect(handleChange).toHaveBeenCalledWith({ a: null });
51
+ });
52
+ });
53
+ });
@@ -1,32 +1,32 @@
1
- import React from 'react';
2
- import { shallow, mount } from 'enzyme';
3
- import { CheckboxOne } from 'components';
4
-
5
- const handleChange = jest.fn();
6
- const options = [
7
- { value: 'france', label: 'France' },
8
- { value: 'italy', label: 'Italy' },
9
- ];
10
- const response = { values: { COLLECTED: 'italy' } };
11
-
12
- const defaultProps = {
13
- id: 'id',
14
- label: 'label',
15
- handleChange,
16
- options,
17
- response,
18
- };
19
-
20
- describe('checkbox-one', () => {
21
- it('renders without crashing', () => {
22
- mount(<CheckboxOne {...defaultProps} />);
23
- });
24
-
25
- it('returns management component', () => {
26
- shallow(<CheckboxOne {...defaultProps} management />);
27
- });
28
-
29
- it('returns disabled component', () => {
30
- shallow(<CheckboxOne {...defaultProps} label="label" disabled />);
31
- });
32
- });
1
+ import React from 'react';
2
+ import { shallow, mount } from 'enzyme';
3
+ import { CheckboxOne } from 'components';
4
+
5
+ const handleChange = jest.fn();
6
+ const options = [
7
+ { value: 'france', label: 'France' },
8
+ { value: 'italy', label: 'Italy' },
9
+ ];
10
+ const response = { values: { COLLECTED: 'italy' } };
11
+
12
+ const defaultProps = {
13
+ id: 'id',
14
+ label: 'label',
15
+ handleChange,
16
+ options,
17
+ response,
18
+ };
19
+
20
+ describe('checkbox-one', () => {
21
+ it('renders without crashing', () => {
22
+ mount(<CheckboxOne {...defaultProps} />);
23
+ });
24
+
25
+ it('returns management component', () => {
26
+ shallow(<CheckboxOne {...defaultProps} management />);
27
+ });
28
+
29
+ it('returns disabled component', () => {
30
+ shallow(<CheckboxOne {...defaultProps} label="label" disabled />);
31
+ });
32
+ });