@inseefr/lunatic 3.8.0-rc.ucq-options-variable.0 → 3.8.0

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 (33) hide show
  1. package/esm/type.source.d.ts +3 -9
  2. package/esm/use-lunatic/commons/fill-components/fill-component-expressions.d.ts +1 -1
  3. package/esm/use-lunatic/commons/fill-components/fill-component-expressions.js.map +1 -1
  4. package/esm/use-lunatic/commons/fill-components/fill-components.js +2 -10
  5. package/esm/use-lunatic/commons/fill-components/fill-components.js.map +1 -1
  6. package/esm/use-lunatic/props/propOptions.d.ts +1 -9
  7. package/esm/use-lunatic/props/propOptions.js +1 -56
  8. package/esm/use-lunatic/props/propOptions.js.map +1 -1
  9. package/esm/use-lunatic/props/propOptions.spec.js +56 -220
  10. package/esm/use-lunatic/props/propOptions.spec.js.map +1 -1
  11. package/package.json +1 -4
  12. package/src/stories/checkbox/checkbox.stories.tsx +0 -13
  13. package/src/stories/dropdown/dropdown.stories.tsx +0 -12
  14. package/src/stories/radio/radio.stories.tsx +0 -13
  15. package/src/type.source.ts +3 -9
  16. package/src/use-lunatic/commons/fill-components/fill-component-expressions.ts +1 -2
  17. package/src/use-lunatic/commons/fill-components/fill-components.ts +10 -9
  18. package/src/use-lunatic/props/propOptions.spec.ts +147 -217
  19. package/src/use-lunatic/props/propOptions.ts +8 -97
  20. package/tsconfig.build.tsbuildinfo +1 -1
  21. package/type.source.d.ts +3 -9
  22. package/use-lunatic/commons/fill-components/fill-component-expressions.d.ts +1 -1
  23. package/use-lunatic/commons/fill-components/fill-component-expressions.js.map +1 -1
  24. package/use-lunatic/commons/fill-components/fill-components.js +1 -9
  25. package/use-lunatic/commons/fill-components/fill-components.js.map +1 -1
  26. package/use-lunatic/props/propOptions.d.ts +1 -9
  27. package/use-lunatic/props/propOptions.js +2 -57
  28. package/use-lunatic/props/propOptions.js.map +1 -1
  29. package/use-lunatic/props/propOptions.spec.js +55 -217
  30. package/use-lunatic/props/propOptions.spec.js.map +1 -1
  31. package/src/stories/checkbox/sourceOneDynamicOptions.json +0 -496
  32. package/src/stories/dropdown/sourceDynamicOptions.json +0 -496
  33. package/src/stories/radio/sourceDynamicOptions.json +0 -496
@@ -124,9 +124,7 @@ export type ComponentCheckboxBooleanDefinition = ComponentDefinitionBaseWithResp
124
124
  export type ComponentRadioDefinition = ComponentDefinitionBaseWithResponse & {
125
125
  componentType: 'Radio';
126
126
  orientation?: 'horizontal' | 'vertical';
127
- options?: OptionsWithDetail;
128
- optionSource?: string;
129
- optionFilter?: VTLExpression;
127
+ options: OptionsWithDetail;
130
128
  };
131
129
  export type OptionsWithDetail = {
132
130
  value: string | boolean;
@@ -142,9 +140,7 @@ export type OptionsWithDetail = {
142
140
  }[];
143
141
  export type ComponentDropdownDefinition = ComponentDefinitionBaseWithResponse & {
144
142
  componentType: 'Dropdown';
145
- options?: Options;
146
- optionSource?: string;
147
- optionFilter?: VTLExpression;
143
+ options: Options;
148
144
  };
149
145
  export type ComponentQuestionDefinition = ComponentDefinitionBase & {
150
146
  componentType: 'Question';
@@ -152,9 +148,7 @@ export type ComponentQuestionDefinition = ComponentDefinitionBase & {
152
148
  };
153
149
  export type ComponentCheckboxOneDefinition = ComponentDefinitionBaseWithResponse & {
154
150
  componentType: 'CheckboxOne';
155
- options?: OptionsWithDetail;
156
- optionSource?: string;
157
- optionFilter?: VTLExpression;
151
+ options: OptionsWithDetail;
158
152
  };
159
153
  export type ComponentSuggesterDefinition = ComponentDefinitionBaseWithResponse & {
160
154
  componentType: 'Suggester';
@@ -1,6 +1,6 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import type { LunaticComponentDefinition, LunaticExpression, LunaticReducerState } from '../../type';
3
- type UntranslatedProperties = 'expressions' | 'sections' | 'body' | 'item' | 'controls' | 'conditionFilter' | 'conditionReadOnly' | 'components' | 'optionFilter';
3
+ type UntranslatedProperties = 'expressions' | 'sections' | 'body' | 'item' | 'controls' | 'conditionFilter' | 'conditionReadOnly' | 'components';
4
4
  export type DeepTranslateExpression<T> = T extends LunaticExpression ? ReactNode : T extends (infer ElementType)[] ? DeepTranslateExpression<ElementType>[] : T extends {
5
5
  [k: string | number]: unknown;
6
6
  } ? {
@@ -1 +1 @@
1
- {"version":3,"file":"fill-component-expressions.js","sourceRoot":"","sources":["../../../../src/use-lunatic/commons/fill-components/fill-component-expressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fill-component-expressions.js","sourceRoot":"","sources":["../../../../src/use-lunatic/commons/fill-components/fill-component-expressions.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { getComponentTypeProps } from '../../props/getComponentTypeProps';
3
3
  import { getMissingResponseProp } from '../../props/propMissingResponse';
4
4
  import { getValueProp } from '../../props/propValue';
5
5
  import { getIterationsProp } from '../../props/propIterations';
6
- import { computeOptionsFromComponent } from '../../props/propOptions';
6
+ import { getOptionsProp } from '../../props/propOptions';
7
7
  /**
8
8
  * To make this work with TypeScript we need to call function in succession, we prefer expressiveness here over generalized approach
9
9
  */
@@ -43,15 +43,7 @@ parentReadOnly) => {
43
43
  missingResponse: getMissingResponseProp(component, state),
44
44
  management: state.management,
45
45
  iterations: getIterationsProp(component, state),
46
- options: computeOptionsFromComponent(interpretedProps, {
47
- variables: state.variables,
48
- handleChanges: state.handleChanges,
49
- pagerIteration: state.pager.iteration,
50
- value,
51
- logger: state.logger,
52
- disableFilters: state.disableFilters,
53
- shouldParentBeFiltered: shouldBeFiltered,
54
- }),
46
+ options: getOptionsProp(interpretedProps, state.variables, state.handleChanges, state.pager.iteration, value, state.logger, state.disableFilters, shouldBeFiltered),
55
47
  ...getComponentTypeProps(interpretedProps, state),
56
48
  // This is too dynamic to be typed correctly, so we allow any here
57
49
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fill-components.js","sourceRoot":"","sources":["../../../../src/use-lunatic/commons/fill-components/fill-components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fill-components.js","sourceRoot":"","sources":["../../../../src/use-lunatic/commons/fill-components/fill-components.ts"],"names":[],"mappings":"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"}
@@ -19,15 +19,7 @@ export type InterpretedOption = {
19
19
  /**
20
20
  * Compute options for checkboxes / radios / dropdown
21
21
  */
22
- export declare function computeOptionsFromComponent(definition: DeepTranslateExpression<LunaticComponentDefinition>, { variables, handleChanges, pagerIteration, value, logger, disableFilters, shouldParentBeFiltered, }: {
23
- variables: LunaticVariablesStore;
24
- handleChanges: LunaticChangesHandler;
25
- pagerIteration: LunaticState['pager']['iteration'];
26
- value: unknown;
27
- logger: LunaticLogger;
28
- disableFilters?: boolean;
29
- shouldParentBeFiltered?: boolean;
30
- }): InterpretedOption[] | {
22
+ export declare function getOptionsProp(definition: DeepTranslateExpression<LunaticComponentDefinition>, variables: LunaticVariablesStore, handleChanges: LunaticChangesHandler, pagerIteration: LunaticState['pager']['iteration'], value: unknown, logger: LunaticLogger, disableFilters?: boolean, shouldParentBeFiltered?: boolean): {
31
23
  label: ReactNode;
32
24
  name: string;
33
25
  id: string;
@@ -2,7 +2,7 @@ import { isNumber } from '../../utils/number';
2
2
  /**
3
3
  * Compute options for checkboxes / radios / dropdown
4
4
  */
5
- export function computeOptionsFromComponent(definition, { variables, handleChanges, pagerIteration, value, logger, disableFilters, shouldParentBeFiltered, }) {
5
+ export function getOptionsProp(definition, variables, handleChanges, pagerIteration, value, logger, disableFilters, shouldParentBeFiltered) {
6
6
  const iteration = isNumber(pagerIteration) ? [pagerIteration] : undefined;
7
7
  if (definition.componentType === 'CheckboxGroup') {
8
8
  return definition.responses
@@ -40,24 +40,9 @@ export function computeOptionsFromComponent(definition, { variables, handleChang
40
40
  });
41
41
  });
42
42
  }
43
- // options based on another variable
44
- if ('optionSource' in definition && definition.optionSource) {
45
- return computeOptionsFromSource(definition.optionSource, {
46
- variables,
47
- value,
48
- handleChanges,
49
- responseName: definition.response.name,
50
- logger,
51
- shouldParentBeFiltered,
52
- optionFilter: definition.optionFilter,
53
- });
54
- }
55
43
  if (!('options' in definition)) {
56
44
  return [];
57
45
  }
58
- if (!definition.options) {
59
- return [];
60
- }
61
46
  return definition.options
62
47
  .filter((option) => {
63
48
  if (disableFilters ||
@@ -99,46 +84,6 @@ export function computeOptionsFromComponent(definition, { variables, handleChang
99
84
  });
100
85
  });
101
86
  }
102
- /**
103
- * Get all options from a source variable, applying filters.
104
- */
105
- function computeOptionsFromSource(optionSource, { variables, value, handleChanges, responseName, logger, shouldParentBeFiltered, optionFilter, }) {
106
- // we don't know the type of the optionSource values (string, numbers, boolean)
107
- const optionValues = variables.get(optionSource);
108
- if (!optionValues) {
109
- return [];
110
- }
111
- const normalizedValues = Array.isArray(optionValues)
112
- ? optionValues
113
- : [optionValues];
114
- return normalizedValues
115
- .filter((option, index) => {
116
- // option is an empty value, we remove it from the options list
117
- if (option === null || option === undefined) {
118
- return false;
119
- }
120
- // no filter expression, we keep the option
121
- if (!optionFilter) {
122
- return true;
123
- }
124
- // apply filter expression on option (applied to its iteration)
125
- return !isFilteredOutOption(variables, [index], logger, optionFilter);
126
- })
127
- .map((option) => {
128
- return {
129
- label: String(option),
130
- value: option,
131
- checked: value === option,
132
- onCheck: () => {
133
- handleChanges([{ name: responseName, value: option }]);
134
- },
135
- onUncheck: () => {
136
- handleChanges([{ name: responseName, value: null }]);
137
- },
138
- shouldBeFiltered: shouldParentBeFiltered,
139
- };
140
- });
141
- }
142
87
  /**
143
88
  * Check if an option should be filtered, depending on its conditionFilter.
144
89
  */
@@ -1 +1 @@
1
- {"version":3,"file":"propOptions.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propOptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propOptions.js","sourceRoot":"","sources":["../../../src/use-lunatic/props/propOptions.ts"],"names":[],"mappings":"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"}
@@ -1,100 +1,69 @@
1
1
  import { beforeEach, describe, expect, it, vi } from 'vitest';
2
2
  import { LunaticVariablesStore } from '../commons/variables/lunatic-variables-store';
3
- import { computeOptionsFromComponent } from './propOptions';
4
- describe('computeOptionsFromComponent', () => {
3
+ import { getOptionsProp } from './propOptions';
4
+ describe('getOptionsProp()', () => {
5
5
  let variables;
6
+ const checkboxGroupDefinition = {
7
+ id: 'CheckboxGroup',
8
+ componentType: 'CheckboxGroup',
9
+ responses: [
10
+ {
11
+ label: 'Option 1',
12
+ response: { name: 'O1' },
13
+ id: 'id1',
14
+ },
15
+ {
16
+ label: 'Option 2',
17
+ response: { name: 'O2' },
18
+ id: 'id2',
19
+ },
20
+ ],
21
+ };
22
+ const radioDefinition = {
23
+ id: 'RadioGroup',
24
+ componentType: 'Radio',
25
+ response: { name: 'RADIO' },
26
+ options: [
27
+ {
28
+ label: 'Option 1',
29
+ value: 'id1',
30
+ },
31
+ {
32
+ label: 'Option 2',
33
+ value: 'id2',
34
+ },
35
+ ],
36
+ };
6
37
  let mockChange;
7
38
  const mockLogger = vi.fn();
8
39
  beforeEach(() => {
9
40
  mockChange = vi.fn();
10
41
  variables = new LunaticVariablesStore();
11
42
  });
12
- describe('Options based on a fixed list', () => {
13
- const checkboxGroupDefinition = {
14
- id: 'CheckboxGroup',
15
- componentType: 'CheckboxGroup',
16
- responses: [
17
- {
18
- label: 'Option 1',
19
- response: { name: 'O1' },
20
- id: 'id1',
21
- },
22
- {
23
- label: 'Option 2',
24
- response: { name: 'O2' },
25
- id: 'id2',
26
- },
27
- ],
28
- };
29
- const radioDefinition = {
30
- id: 'RadioGroup',
31
- componentType: 'Radio',
32
- response: { name: 'RADIO' },
33
- options: [
34
- {
35
- label: 'Option 1',
36
- value: 'id1',
37
- },
38
- {
39
- label: 'Option 2',
40
- value: 'id2',
41
- },
42
- ],
43
- };
43
+ describe('CheckboxGroup', () => {
44
44
  it('should check boxes', () => {
45
45
  variables.set('O2', false);
46
- let options = computeOptionsFromComponent(checkboxGroupDefinition, {
47
- variables,
48
- handleChanges: mockChange,
49
- pagerIteration: undefined,
50
- value: undefined,
51
- logger: mockLogger,
52
- });
46
+ let options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, undefined, undefined, mockLogger);
53
47
  expect(options[1].checked).toBe(false);
54
48
  variables.set('O2', true);
55
- options = computeOptionsFromComponent(checkboxGroupDefinition, {
56
- variables,
57
- handleChanges: mockChange,
58
- pagerIteration: undefined,
59
- value: undefined,
60
- logger: mockLogger,
61
- });
49
+ options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, undefined, undefined, mockLogger);
62
50
  expect(options[1].checked).toBe(true);
63
51
  });
64
52
  it('should check boxes correctly within iteration', () => {
65
53
  variables.set('O1', []);
66
54
  variables.set('O2', []);
67
- let options = computeOptionsFromComponent(checkboxGroupDefinition, {
68
- variables,
69
- handleChanges: mockChange,
70
- pagerIteration: 0,
71
- value: undefined,
72
- logger: mockLogger,
73
- });
55
+ let options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, 0, undefined, mockLogger);
74
56
  expect(options.filter((o) => o.checked), 'Nothing checked when variable empty').toHaveLength(0);
75
57
  variables.set('O1', [true, 0]);
76
- options = computeOptionsFromComponent(checkboxGroupDefinition, {
77
- variables,
78
- handleChanges: mockChange,
79
- pagerIteration: 0,
80
- value: undefined,
81
- logger: mockLogger,
82
- });
58
+ options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, 0, undefined, mockLogger);
83
59
  expect(options[0].checked).toBe(true);
84
60
  expect(options[1].checked).toBe(false);
85
61
  });
86
62
  it('should create handleChange correctly', () => {
87
- var _a, _b;
88
63
  variables.set('O1', [true, false]);
89
64
  variables.set('O2', [false, true]);
90
- const options = computeOptionsFromComponent(checkboxGroupDefinition, {
91
- variables,
92
- handleChanges: mockChange,
93
- pagerIteration: 1,
94
- value: undefined,
95
- logger: mockLogger,
96
- });
97
- (_b = (_a = options[1]).onCheck) === null || _b === void 0 ? void 0 : _b.call(_a, false);
65
+ const options = getOptionsProp(checkboxGroupDefinition, variables, mockChange, 1, undefined, mockLogger);
66
+ options[1].onCheck(false);
98
67
  expect(mockChange).toHaveBeenLastCalledWith([
99
68
  { name: 'O2', value: false },
100
69
  ]);
@@ -125,13 +94,7 @@ describe('computeOptionsFromComponent', () => {
125
94
  ],
126
95
  };
127
96
  variables.set('DETAIL', true);
128
- const options = computeOptionsFromComponent(definition, {
129
- variables,
130
- handleChanges: mockChange,
131
- pagerIteration: undefined,
132
- value: undefined,
133
- logger: mockLogger,
134
- });
97
+ const options = getOptionsProp(definition, variables, mockChange, undefined, undefined, mockLogger);
135
98
  expect(options).toHaveLength(2);
136
99
  expect(options[0].detailLabel).toBe('Precize:');
137
100
  expect(options[1].detailLabel).toBe('Precize:');
@@ -164,13 +127,7 @@ describe('computeOptionsFromComponent', () => {
164
127
  ],
165
128
  };
166
129
  variables.set('DETAIL', true);
167
- const options = computeOptionsFromComponent(definition, {
168
- variables,
169
- handleChanges: mockChange,
170
- pagerIteration: undefined,
171
- value: undefined,
172
- logger: mockLogger,
173
- });
130
+ const options = getOptionsProp(definition, variables, mockChange, undefined, undefined, mockLogger);
174
131
  expect(options).toHaveLength(2);
175
132
  expect(options[0].detailLabel).toBe('Precize:');
176
133
  expect(options[1].detailLabel).toBe('Precize:');
@@ -197,13 +154,7 @@ describe('computeOptionsFromComponent', () => {
197
154
  },
198
155
  ],
199
156
  };
200
- const options = computeOptionsFromComponent(definition, {
201
- variables,
202
- handleChanges: mockChange,
203
- pagerIteration: undefined,
204
- value: undefined,
205
- logger: mockLogger,
206
- });
157
+ const options = getOptionsProp(definition, variables, mockChange, undefined, undefined, mockLogger);
207
158
  // First option should be filtered out since its conditionFilter is evaluated to false
208
159
  expect(options).toHaveLength(1);
209
160
  expect(options[0].label).toBe('Option 2');
@@ -224,13 +175,7 @@ describe('computeOptionsFromComponent', () => {
224
175
  },
225
176
  ],
226
177
  };
227
- const options = computeOptionsFromComponent(definition, {
228
- variables,
229
- handleChanges: mockChange,
230
- pagerIteration: undefined,
231
- value: undefined,
232
- logger: mockLogger,
233
- });
178
+ const options = getOptionsProp(definition, variables, mockChange, undefined, undefined, mockLogger);
234
179
  // First option should be filtered out since its conditionFilter is evaluated to false
235
180
  expect(options).toHaveLength(1);
236
181
  expect(options[0].label).toBe('Option 2');
@@ -251,13 +196,7 @@ describe('computeOptionsFromComponent', () => {
251
196
  vi.spyOn(variables, 'run').mockImplementation(() => {
252
197
  throw new Error('Test error');
253
198
  });
254
- const options = computeOptionsFromComponent(definition, {
255
- variables,
256
- handleChanges: mockChange,
257
- pagerIteration: undefined,
258
- value: undefined,
259
- logger: mockLogger,
260
- });
199
+ const options = getOptionsProp(definition, variables, mockChange, undefined, undefined, mockLogger);
261
200
  // Ensure the option is not filtered
262
201
  expect(options).toHaveLength(1);
263
202
  expect(options[0].shouldBeFiltered).toBe(false);
@@ -277,13 +216,7 @@ describe('computeOptionsFromComponent', () => {
277
216
  vi.spyOn(variables, 'run').mockImplementation(() => {
278
217
  throw new Error('Test error');
279
218
  });
280
- const options = computeOptionsFromComponent(definition, {
281
- variables,
282
- handleChanges: mockChange,
283
- pagerIteration: undefined,
284
- value: undefined,
285
- logger: mockLogger,
286
- });
219
+ const options = getOptionsProp(definition, variables, mockChange, undefined, undefined, mockLogger);
287
220
  // Ensure the option is not filtered
288
221
  expect(options).toHaveLength(1);
289
222
  expect(options[0].shouldBeFiltered).toBe(false);
@@ -304,14 +237,8 @@ describe('computeOptionsFromComponent', () => {
304
237
  vi.spyOn(variables, 'run').mockImplementation(() => {
305
238
  return false;
306
239
  });
307
- const options = computeOptionsFromComponent(definition, {
308
- variables,
309
- handleChanges: mockChange,
310
- pagerIteration: undefined,
311
- value: undefined,
312
- logger: mockLogger,
313
- disableFilters: true,
314
- });
240
+ const options = getOptionsProp(definition, variables, mockChange, undefined, undefined, mockLogger, true // disableFilters = true
241
+ );
315
242
  // Ensure the option is not filtered
316
243
  expect(options).toHaveLength(1);
317
244
  // the option should would have been filtered if we did not disable filters
@@ -332,14 +259,8 @@ describe('computeOptionsFromComponent', () => {
332
259
  vi.spyOn(variables, 'run').mockImplementation(() => {
333
260
  return false;
334
261
  });
335
- const options = computeOptionsFromComponent(definition, {
336
- variables,
337
- handleChanges: mockChange,
338
- pagerIteration: undefined,
339
- value: undefined,
340
- logger: mockLogger,
341
- disableFilters: true,
342
- });
262
+ const options = getOptionsProp(definition, variables, mockChange, undefined, undefined, mockLogger, true // disableFilters = true
263
+ );
343
264
  // Ensure the option is not filtered
344
265
  expect(options).toHaveLength(1);
345
266
  // the option should would have been filtered if we did not disable filters
@@ -357,15 +278,9 @@ describe('computeOptionsFromComponent', () => {
357
278
  },
358
279
  ],
359
280
  };
360
- const options = computeOptionsFromComponent(definition, {
361
- variables,
362
- handleChanges: mockChange,
363
- pagerIteration: undefined,
364
- value: undefined,
365
- logger: mockLogger,
366
- disableFilters: true,
367
- shouldParentBeFiltered: true,
368
- });
281
+ const options = getOptionsProp(definition, variables, mockChange, undefined, undefined, mockLogger, true, // disableFilters = true
282
+ true // parent component should be filtered
283
+ );
369
284
  // Ensure the option is not filtered
370
285
  expect(options).toHaveLength(1);
371
286
  // the option would have been filtered if we did not disable filters because its parent would
@@ -382,93 +297,14 @@ describe('computeOptionsFromComponent', () => {
382
297
  },
383
298
  ],
384
299
  };
385
- const options = computeOptionsFromComponent(definition, {
386
- variables,
387
- handleChanges: mockChange,
388
- pagerIteration: undefined,
389
- value: undefined,
390
- logger: mockLogger,
391
- disableFilters: true,
392
- shouldParentBeFiltered: true,
393
- });
300
+ const options = getOptionsProp(definition, variables, mockChange, undefined, undefined, mockLogger, true, // disableFilters = true
301
+ true // parent component should be filtered
302
+ );
394
303
  // Ensure the option is not filtered
395
304
  expect(options).toHaveLength(1);
396
305
  // the option would have been filtered if we did not disable filters because its parent would
397
306
  expect(options[0].shouldBeFiltered).toBe(true);
398
307
  });
399
308
  });
400
- describe('Options based on a source variable', () => {
401
- const radioOptionSourceDefinition = {
402
- id: 'RadioGroupDynamic',
403
- componentType: 'Radio',
404
- response: { name: 'RADIO' },
405
- optionSource: 'NAME',
406
- };
407
- it('should build options when the source variable is an array of strings', () => {
408
- variables.set('NAME', ['Maëlle', 'Verso']);
409
- const options = computeOptionsFromComponent(radioOptionSourceDefinition, {
410
- variables,
411
- handleChanges: mockChange,
412
- pagerIteration: undefined,
413
- value: undefined,
414
- logger: mockLogger,
415
- }); // force type but it should infer type correctly
416
- expect(options).toHaveLength(2);
417
- expect(options[0].value).toBe('Maëlle');
418
- expect(options[0].label).toBe('Maëlle');
419
- expect(options[1].value).toBe('Verso');
420
- expect(options[1].label).toBe('Verso');
421
- });
422
- it('should build options when the source variable is an array of numbers', () => {
423
- variables.set('NAME', [10, 20]);
424
- const options = computeOptionsFromComponent(radioOptionSourceDefinition, {
425
- variables,
426
- handleChanges: mockChange,
427
- pagerIteration: undefined,
428
- value: undefined,
429
- logger: mockLogger,
430
- }); // force type but it should infer type correctly
431
- expect(options).toHaveLength(2);
432
- expect(options[0].value).toBe(10);
433
- expect(options[0].label).toBe('10');
434
- expect(options[1].value).toBe(20);
435
- expect(options[1].label).toBe('20');
436
- });
437
- it('should set the response when selecting a dynamic option', () => {
438
- var _a, _b, _c, _d;
439
- variables.set('NAME', ['Maëlle', 'Verso']);
440
- const options = computeOptionsFromComponent(radioOptionSourceDefinition, {
441
- variables,
442
- handleChanges: mockChange,
443
- pagerIteration: undefined,
444
- value: undefined,
445
- logger: mockLogger,
446
- }); // force type but it should infer type correctly
447
- (_b = (_a = options[0]).onCheck) === null || _b === void 0 ? void 0 : _b.call(_a);
448
- expect(mockChange).toHaveBeenLastCalledWith([
449
- { name: 'RADIO', value: 'Maëlle' },
450
- ]);
451
- (_d = (_c = options[1]).onCheck) === null || _d === void 0 ? void 0 : _d.call(_c);
452
- expect(mockChange).toHaveBeenLastCalledWith([
453
- { name: 'RADIO', value: 'Verso' },
454
- ]);
455
- });
456
- it('should filter options based on the optionFilter expression', () => {
457
- const definition = {
458
- ...radioOptionSourceDefinition,
459
- optionFilter: { type: 'VTL', value: 'AGE >= 18' },
460
- };
461
- variables.set('NAME', ['Maëlle', 'Verso', 'Aline']);
462
- variables.set('AGE', [16, 30, 50]);
463
- const options = computeOptionsFromComponent(definition, {
464
- variables,
465
- handleChanges: mockChange,
466
- pagerIteration: undefined,
467
- value: undefined,
468
- logger: mockLogger,
469
- }); // force type but it should infer type correctly
470
- expect(options.map((option) => option.value)).toEqual(['Verso', 'Aline']);
471
- });
472
- });
473
309
  });
474
310
  //# sourceMappingURL=propOptions.spec.js.map