@inseefr/lunatic 3.7.7-rc.0 → 3.7.7

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.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const react_1 = require("@testing-library/react");
5
+ const vitest_1 = require("vitest");
6
+ const Suggester_1 = require("./Suggester"); // Ajuste le chemin selon ton projet
7
+ // Mock of useSuggestions
8
+ vitest_1.vi.mock('./useSuggestions', () => ({
9
+ useSuggestions: vitest_1.vi.fn(() => ({
10
+ state: 'success',
11
+ options: [],
12
+ search: '',
13
+ setSearch: vitest_1.vi.fn(),
14
+ onFocus: vitest_1.vi.fn(),
15
+ onBlur: vitest_1.vi.fn(),
16
+ })),
17
+ }));
18
+ // Mock of CustomSuggester
19
+ vitest_1.vi.mock('./CustomSuggester', () => ({
20
+ CustomSuggester: vitest_1.vi.fn(({ value }) => ((0, jsx_runtime_1.jsx)("div", { "data-testid": "custom-suggester", children: JSON.stringify(value) }))),
21
+ }));
22
+ (0, vitest_1.describe)('WrappedSuggester useEffect', () => {
23
+ (0, vitest_1.it)('should update selectedOptions when value prop changes', () => {
24
+ // Given initial props
25
+ const initialProps = {
26
+ storeName: 'store',
27
+ id: 'suggester-1',
28
+ className: '',
29
+ handleChanges: vitest_1.vi.fn(),
30
+ disabled: false,
31
+ value: 'initialValue',
32
+ label: 'Label',
33
+ declarations: [],
34
+ description: '',
35
+ errors: {},
36
+ readOnly: false,
37
+ response: { name: 'response' },
38
+ optionResponses: [{ name: 'labelResponse', attribute: 'label' }],
39
+ executeExpression: vitest_1.vi.fn(),
40
+ iteration: 1,
41
+ arbitrary: { response: { name: 'ARBITRARY' } },
42
+ optionRenderer: vitest_1.vi.fn(),
43
+ labelRenderer: vitest_1.vi.fn(),
44
+ focused: false,
45
+ };
46
+ // Given the composant initialize
47
+ const { rerender } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Suggester_1.WrappedSuggester, { ...initialProps }));
48
+ const suggesterValue = react_1.screen.getByTestId('custom-suggester').textContent;
49
+ (0, vitest_1.expect)(suggesterValue).toContain('initialValue');
50
+ // When we change the value
51
+ const newProps = { ...initialProps, value: 'FORCED value' };
52
+ rerender((0, jsx_runtime_1.jsx)(Suggester_1.WrappedSuggester, { ...newProps }));
53
+ // Then selectedOptions, i.e value props of customSuggester have to be updated
54
+ const updatedValue = react_1.screen.getByTestId('custom-suggester').textContent;
55
+ (0, vitest_1.expect)(updatedValue).toContain('FORCED value');
56
+ });
57
+ });
58
+ //# sourceMappingURL=Suggester.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Suggester.spec.js","sourceRoot":"","sources":["../../src/components/Suggester/Suggester.spec.tsx"],"names":[],"mappings":";;;AAAA,kDAAwD;AACxD,mCAAkD;AAClD,2CAA+C,CAAC,oCAAoC;AAEpF,yBAAyB;AACzB,WAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;IAClC,cAAc,EAAE,WAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5B,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,WAAE,CAAC,EAAE,EAAE;QAClB,OAAO,EAAE,WAAE,CAAC,EAAE,EAAE;QAChB,MAAM,EAAE,WAAE,CAAC,EAAE,EAAE;KACf,CAAC,CAAC;CACH,CAAC,CAAC,CAAC;AAEJ,0BAA0B;AAC1B,WAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,eAAe,EAAE,WAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACrC,+CAAiB,kBAAkB,YAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAO,CACjE,CAAC;CACF,CAAC,CAAC,CAAC;AAEJ,IAAA,iBAAQ,EAAC,4BAA4B,EAAE,GAAG,EAAE;IAC3C,IAAA,WAAE,EAAC,uDAAuD,EAAE,GAAG,EAAE;QAChE,sBAAsB;QACtB,MAAM,YAAY,GAAG;YACpB,SAAS,EAAE,OAAO;YAClB,EAAE,EAAE,aAAa;YACjB,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,WAAE,CAAC,EAAE,EAAE;YACtB,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,cAAc;YACrB,KAAK,EAAE,OAAO;YACd,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,EAAE;YACf,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;YAC9B,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;YAChE,iBAAiB,EAAE,WAAE,CAAC,EAAE,EAAE;YAC1B,SAAS,EAAE,CAAC;YACZ,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;YAC9C,cAAc,EAAE,WAAE,CAAC,EAAE,EAAE;YACvB,aAAa,EAAE,WAAE,CAAC,EAAE,EAAE;YACtB,OAAO,EAAE,KAAK;SACd,CAAC;QAEF,iCAAiC;QACjC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,cAAM,EAAC,uBAAC,4BAAgB,OAAK,YAAY,GAAI,CAAC,CAAC;QACpE,MAAM,cAAc,GAAG,cAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC;QAC1E,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAEjD,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,EAAE,GAAG,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;QAC5D,QAAQ,CAAC,uBAAC,4BAAgB,OAAK,QAAQ,GAAI,CAAC,CAAC;QAE7C,8EAA8E;QAC9E,MAAM,YAAY,GAAG,cAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC;QACxE,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,56 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { render, screen } from '@testing-library/react';
3
+ import { describe, it, expect, vi } from 'vitest';
4
+ import { WrappedSuggester } from './Suggester'; // Ajuste le chemin selon ton projet
5
+ // Mock of useSuggestions
6
+ vi.mock('./useSuggestions', () => ({
7
+ useSuggestions: vi.fn(() => ({
8
+ state: 'success',
9
+ options: [],
10
+ search: '',
11
+ setSearch: vi.fn(),
12
+ onFocus: vi.fn(),
13
+ onBlur: vi.fn(),
14
+ })),
15
+ }));
16
+ // Mock of CustomSuggester
17
+ vi.mock('./CustomSuggester', () => ({
18
+ CustomSuggester: vi.fn(({ value }) => (_jsx("div", { "data-testid": "custom-suggester", children: JSON.stringify(value) }))),
19
+ }));
20
+ describe('WrappedSuggester useEffect', () => {
21
+ it('should update selectedOptions when value prop changes', () => {
22
+ // Given initial props
23
+ const initialProps = {
24
+ storeName: 'store',
25
+ id: 'suggester-1',
26
+ className: '',
27
+ handleChanges: vi.fn(),
28
+ disabled: false,
29
+ value: 'initialValue',
30
+ label: 'Label',
31
+ declarations: [],
32
+ description: '',
33
+ errors: {},
34
+ readOnly: false,
35
+ response: { name: 'response' },
36
+ optionResponses: [{ name: 'labelResponse', attribute: 'label' }],
37
+ executeExpression: vi.fn(),
38
+ iteration: 1,
39
+ arbitrary: { response: { name: 'ARBITRARY' } },
40
+ optionRenderer: vi.fn(),
41
+ labelRenderer: vi.fn(),
42
+ focused: false,
43
+ };
44
+ // Given the composant initialize
45
+ const { rerender } = render(_jsx(WrappedSuggester, { ...initialProps }));
46
+ const suggesterValue = screen.getByTestId('custom-suggester').textContent;
47
+ expect(suggesterValue).toContain('initialValue');
48
+ // When we change the value
49
+ const newProps = { ...initialProps, value: 'FORCED value' };
50
+ rerender(_jsx(WrappedSuggester, { ...newProps }));
51
+ // Then selectedOptions, i.e value props of customSuggester have to be updated
52
+ const updatedValue = screen.getByTestId('custom-suggester').textContent;
53
+ expect(updatedValue).toContain('FORCED value');
54
+ });
55
+ });
56
+ //# sourceMappingURL=Suggester.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Suggester.spec.js","sourceRoot":"","sources":["../../../src/components/Suggester/Suggester.spec.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC,CAAC,oCAAoC;AAEpF,yBAAyB;AACzB,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;IAClC,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5B,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;QAClB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;QAChB,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;KACf,CAAC,CAAC;CACH,CAAC,CAAC,CAAC;AAEJ,0BAA0B;AAC1B,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACrC,6BAAiB,kBAAkB,YAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAO,CACjE,CAAC;CACF,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAChE,sBAAsB;QACtB,MAAM,YAAY,GAAG;YACpB,SAAS,EAAE,OAAO;YAClB,EAAE,EAAE,aAAa;YACjB,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;YACtB,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,cAAc;YACrB,KAAK,EAAE,OAAO;YACd,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,EAAE;YACf,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;YAC9B,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;YAChE,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;YAC1B,SAAS,EAAE,CAAC;YACZ,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;YAC9C,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;YACvB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;YACtB,OAAO,EAAE,KAAK;SACd,CAAC;QAEF,iCAAiC;QACjC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAC,gBAAgB,OAAK,YAAY,GAAI,CAAC,CAAC;QACpE,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC;QAC1E,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAEjD,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,EAAE,GAAG,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;QAC5D,QAAQ,CAAC,KAAC,gBAAgB,OAAK,QAAQ,GAAI,CAAC,CAAC;QAE7C,8EAA8E;QAC9E,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC;QACxE,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inseefr/lunatic",
3
- "version": "3.7.7-rc.0",
3
+ "version": "3.7.7",
4
4
  "description": "Library of questionnaire components",
5
5
  "repository": {
6
6
  "type": "git",
@@ -86,6 +86,7 @@
86
86
  "src/components/Subsequence/Subsequence.spec.tsx",
87
87
  "src/components/Subsequence/Subsequence.tsx",
88
88
  "src/components/Suggester/CustomSuggester.tsx",
89
+ "src/components/Suggester/Suggester.spec.tsx",
89
90
  "src/components/Suggester/Suggester.tsx",
90
91
  "src/components/Suggester/SuggesterNotification.tsx",
91
92
  "src/components/Suggester/SuggesterType.ts",
@@ -591,6 +592,9 @@
591
592
  "components/Suggester/Suggester.d.ts",
592
593
  "components/Suggester/Suggester.js",
593
594
  "components/Suggester/Suggester.js.map",
595
+ "components/Suggester/Suggester.spec.d.ts",
596
+ "components/Suggester/Suggester.spec.js",
597
+ "components/Suggester/Suggester.spec.js.map",
594
598
  "components/Suggester/SuggesterNotification.d.ts",
595
599
  "components/Suggester/SuggesterNotification.js",
596
600
  "components/Suggester/SuggesterNotification.js.map",
@@ -1017,6 +1021,9 @@
1017
1021
  "esm/components/Suggester/Suggester.d.ts",
1018
1022
  "esm/components/Suggester/Suggester.js",
1019
1023
  "esm/components/Suggester/Suggester.js.map",
1024
+ "esm/components/Suggester/Suggester.spec.d.ts",
1025
+ "esm/components/Suggester/Suggester.spec.js",
1026
+ "esm/components/Suggester/Suggester.spec.js.map",
1020
1027
  "esm/components/Suggester/SuggesterNotification.d.ts",
1021
1028
  "esm/components/Suggester/SuggesterNotification.js",
1022
1029
  "esm/components/Suggester/SuggesterNotification.js.map",
@@ -0,0 +1,62 @@
1
+ import { render, screen } from '@testing-library/react';
2
+ import { describe, it, expect, vi } from 'vitest';
3
+ import { WrappedSuggester } from './Suggester'; // Ajuste le chemin selon ton projet
4
+
5
+ // Mock of useSuggestions
6
+ vi.mock('./useSuggestions', () => ({
7
+ useSuggestions: vi.fn(() => ({
8
+ state: 'success',
9
+ options: [],
10
+ search: '',
11
+ setSearch: vi.fn(),
12
+ onFocus: vi.fn(),
13
+ onBlur: vi.fn(),
14
+ })),
15
+ }));
16
+
17
+ // Mock of CustomSuggester
18
+ vi.mock('./CustomSuggester', () => ({
19
+ CustomSuggester: vi.fn(({ value }) => (
20
+ <div data-testid="custom-suggester">{JSON.stringify(value)}</div>
21
+ )),
22
+ }));
23
+
24
+ describe('WrappedSuggester useEffect', () => {
25
+ it('should update selectedOptions when value prop changes', () => {
26
+ // Given initial props
27
+ const initialProps = {
28
+ storeName: 'store',
29
+ id: 'suggester-1',
30
+ className: '',
31
+ handleChanges: vi.fn(),
32
+ disabled: false,
33
+ value: 'initialValue',
34
+ label: 'Label',
35
+ declarations: [],
36
+ description: '',
37
+ errors: {},
38
+ readOnly: false,
39
+ response: { name: 'response' },
40
+ optionResponses: [{ name: 'labelResponse', attribute: 'label' }],
41
+ executeExpression: vi.fn(),
42
+ iteration: 1,
43
+ arbitrary: { response: { name: 'ARBITRARY' } },
44
+ optionRenderer: vi.fn(),
45
+ labelRenderer: vi.fn(),
46
+ focused: false,
47
+ };
48
+
49
+ // Given the composant initialize
50
+ const { rerender } = render(<WrappedSuggester {...initialProps} />);
51
+ const suggesterValue = screen.getByTestId('custom-suggester').textContent;
52
+ expect(suggesterValue).toContain('initialValue');
53
+
54
+ // When we change the value
55
+ const newProps = { ...initialProps, value: 'FORCED value' };
56
+ rerender(<WrappedSuggester {...newProps} />);
57
+
58
+ // Then selectedOptions, i.e value props of customSuggester have to be updated
59
+ const updatedValue = screen.getByTestId('custom-suggester').textContent;
60
+ expect(updatedValue).toContain('FORCED value');
61
+ });
62
+ });