@c15t/react 1.0.5 → 1.1.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.
- package/dist/components/consent-manager-dialog/__tests__/styles.spec.cjs +1 -239
- package/dist/components/consent-manager-dialog/__tests__/styles.spec.js +1 -211
- package/dist/components/consent-manager-dialog/atoms/dialog-card.cjs +1 -188
- package/dist/components/consent-manager-dialog/atoms/dialog-card.js +1 -108
- package/dist/components/consent-manager-dialog/atoms/overlay.cjs +1 -84
- package/dist/components/consent-manager-dialog/atoms/overlay.d.ts +1 -1
- package/dist/components/consent-manager-dialog/atoms/overlay.d.ts.map +1 -1
- package/dist/components/consent-manager-dialog/atoms/overlay.js +1 -37
- package/dist/components/consent-manager-dialog/consent-manager-dialog.cjs +1 -143
- package/dist/components/consent-manager-dialog/consent-manager-dialog.d.ts +5 -0
- package/dist/components/consent-manager-dialog/consent-manager-dialog.d.ts.map +1 -1
- package/dist/components/consent-manager-dialog/consent-manager-dialog.js +1 -99
- package/dist/components/consent-manager-dialog/consent-manager-dialog.module.cjs +1 -52
- package/dist/components/consent-manager-dialog/consent-manager-dialog.module.js +1 -18
- package/dist/components/consent-manager-dialog/consent-manager-dialog_module.css +1 -217
- package/dist/components/consent-manager-dialog/index.cjs +1 -76
- package/dist/components/consent-manager-dialog/index.js +1 -17
- package/dist/components/consent-manager-dialog/theme.cjs +1 -18
- package/dist/components/consent-manager-widget/__tests__/styles.spec.cjs +1 -249
- package/dist/components/consent-manager-widget/__tests__/styles.spec.js +1 -221
- package/dist/components/consent-manager-widget/atoms/accordion.cjs +1 -195
- package/dist/components/consent-manager-widget/atoms/accordion.js +1 -106
- package/dist/components/consent-manager-widget/atoms/button.cjs +1 -107
- package/dist/components/consent-manager-widget/atoms/button.js +1 -52
- package/dist/components/consent-manager-widget/atoms/footer.cjs +1 -76
- package/dist/components/consent-manager-widget/atoms/footer.js +1 -23
- package/dist/components/consent-manager-widget/atoms/root.cjs +1 -61
- package/dist/components/consent-manager-widget/atoms/root.js +1 -24
- package/dist/components/consent-manager-widget/consent-manager-widget.cjs +1 -84
- package/dist/components/consent-manager-widget/consent-manager-widget.js +1 -50
- package/dist/components/consent-manager-widget/consent-manager-widget.module.cjs +1 -60
- package/dist/components/consent-manager-widget/consent-manager-widget.module.js +1 -26
- package/dist/components/consent-manager-widget/consent-manager-widget_module.css +1 -332
- package/dist/components/consent-manager-widget/index.cjs +1 -126
- package/dist/components/consent-manager-widget/index.js +1 -35
- package/dist/components/consent-manager-widget/theme.cjs +1 -18
- package/dist/components/consent-manager-widget/types.cjs +1 -18
- package/dist/components/cookie-banner/__tests__/cookie-banner.e2e.test.cjs +1 -189
- package/dist/components/cookie-banner/__tests__/cookie-banner.e2e.test.js +1 -183
- package/dist/components/cookie-banner/__tests__/styles.spec.cjs +1 -251
- package/dist/components/cookie-banner/__tests__/styles.spec.js +1 -223
- package/dist/components/cookie-banner/atoms/overlay.cjs +1 -87
- package/dist/components/cookie-banner/atoms/overlay.d.ts.map +1 -1
- package/dist/components/cookie-banner/atoms/overlay.js +1 -40
- package/dist/components/cookie-banner/atoms/root.cjs +1 -129
- package/dist/components/cookie-banner/atoms/root.d.ts.map +1 -1
- package/dist/components/cookie-banner/atoms/root.js +1 -82
- package/dist/components/cookie-banner/components.cjs +1 -216
- package/dist/components/cookie-banner/components.js +1 -121
- package/dist/components/cookie-banner/cookie-banner.cjs +1 -99
- package/dist/components/cookie-banner/cookie-banner.js +1 -65
- package/dist/components/cookie-banner/cookie-banner.module.cjs +1 -55
- package/dist/components/cookie-banner/cookie-banner.module.js +1 -21
- package/dist/components/cookie-banner/cookie-banner_module.css +1 -224
- package/dist/components/cookie-banner/error-boundary.cjs +1 -66
- package/dist/components/cookie-banner/error-boundary.js +1 -32
- package/dist/components/cookie-banner/index.cjs +1 -101
- package/dist/components/cookie-banner/index.js +1 -26
- package/dist/components/cookie-banner/theme.cjs +1 -18
- package/dist/components/shared/libs/polymorphic.cjs +1 -18
- package/dist/components/shared/libs/recursive-clone-children.cjs +1 -49
- package/dist/components/shared/libs/recursive-clone-children.js +1 -15
- package/dist/components/shared/primitives/box.cjs +1 -53
- package/dist/components/shared/primitives/box.js +1 -19
- package/dist/components/shared/primitives/button.cjs +1 -96
- package/dist/components/shared/primitives/button.d.ts +2 -86
- package/dist/components/shared/primitives/button.d.ts.map +1 -1
- package/dist/components/shared/primitives/button.js +1 -62
- package/dist/components/shared/primitives/button.types.cjs +1 -18
- package/dist/components/shared/ui/accordion/accordion.cjs +1 -226
- package/dist/components/shared/ui/accordion/accordion.js +1 -164
- package/dist/components/shared/ui/accordion/accordion.module.cjs +1 -49
- package/dist/components/shared/ui/accordion/accordion.module.js +1 -15
- package/dist/components/shared/ui/accordion/accordion.types.cjs +1 -18
- package/dist/components/shared/ui/accordion/accordion_module.css +1 -216
- package/dist/components/shared/ui/accordion/index.cjs +1 -69
- package/dist/components/shared/ui/accordion/index.js +1 -2
- package/dist/components/shared/ui/button/button.cjs +1 -199
- package/dist/components/shared/ui/button/button.d.ts +36 -182
- package/dist/components/shared/ui/button/button.d.ts.map +1 -1
- package/dist/components/shared/ui/button/button.js +1 -149
- package/dist/components/shared/ui/button/button.module.cjs +1 -65
- package/dist/components/shared/ui/button/button.module.js +1 -31
- package/dist/components/shared/ui/button/button.types.cjs +1 -18
- package/dist/components/shared/ui/button/button.types.d.ts +2 -0
- package/dist/components/shared/ui/button/button.types.d.ts.map +1 -1
- package/dist/components/shared/ui/button/button_module.css +1 -268
- package/dist/components/shared/ui/button/index.cjs +1 -69
- package/dist/components/shared/ui/button/index.js +1 -2
- package/dist/components/shared/ui/icon.cjs +1 -57
- package/dist/components/shared/ui/icon.js +1 -23
- package/dist/components/shared/ui/logo.cjs +1 -90
- package/dist/components/shared/ui/logo.js +1 -53
- package/dist/components/shared/ui/switch/index.cjs +1 -69
- package/dist/components/shared/ui/switch/index.js +1 -2
- package/dist/components/shared/ui/switch/switch.cjs +1 -91
- package/dist/components/shared/ui/switch/switch.js +1 -47
- package/dist/components/shared/ui/switch/switch.module.cjs +1 -45
- package/dist/components/shared/ui/switch/switch.module.js +1 -11
- package/dist/components/shared/ui/switch/switch.types.cjs +1 -18
- package/dist/components/shared/ui/switch/switch_module.css +1 -197
- package/dist/context/consent-manager-context.cjs +1 -37
- package/dist/context/consent-manager-context.js +1 -3
- package/dist/context/theme-context.cjs +1 -47
- package/dist/context/theme-context.js +1 -10
- package/dist/hooks/__tests__/use-consent-manager.test.cjs +1 -76
- package/dist/hooks/__tests__/use-consent-manager.test.js +1 -70
- package/dist/hooks/__tests__/use-styles.test.cjs +1 -76
- package/dist/hooks/__tests__/use-styles.test.js +1 -70
- package/dist/hooks/__tests__/use-theme.test.cjs +1 -86
- package/dist/hooks/__tests__/use-theme.test.js +1 -80
- package/dist/hooks/index.cjs +1 -87
- package/dist/hooks/index.js +1 -20
- package/dist/hooks/use-color-scheme.cjs +1 -66
- package/dist/hooks/use-color-scheme.js +1 -32
- package/dist/hooks/use-consent-manager.cjs +1 -49
- package/dist/hooks/use-consent-manager.js +1 -15
- package/dist/hooks/use-focus-trap.cjs +1 -76
- package/dist/hooks/use-focus-trap.js +1 -42
- package/dist/hooks/use-scroll-lock.cjs +1 -55
- package/dist/hooks/use-scroll-lock.js +1 -21
- package/dist/hooks/use-styles.cjs +1 -94
- package/dist/hooks/use-styles.js +1 -60
- package/dist/hooks/use-theme.cjs +1 -53
- package/dist/hooks/use-theme.js +1 -19
- package/dist/hooks/use-translations.cjs +1 -57
- package/dist/hooks/use-translations.js +1 -23
- package/dist/index.cjs +1 -137
- package/dist/index.js +1 -20
- package/dist/providers/__tests__/provider-basic.test.cjs +1 -127
- package/dist/providers/__tests__/provider-basic.test.js +1 -121
- package/dist/providers/__tests__/provider-context.test.cjs +1 -139
- package/dist/providers/__tests__/provider-context.test.js +1 -133
- package/dist/providers/__tests__/provider-errors.test.cjs +1 -98
- package/dist/providers/__tests__/provider-errors.test.js +1 -92
- package/dist/providers/__tests__/test-helpers.cjs +1 -171
- package/dist/providers/__tests__/test-helpers.js +1 -134
- package/dist/providers/consent-manager-provider.cjs +1 -162
- package/dist/providers/consent-manager-provider.js +1 -128
- package/dist/types/consent-manager.cjs +1 -18
- package/dist/types/theme/index.cjs +1 -69
- package/dist/types/theme/index.js +1 -2
- package/dist/types/theme/style-keys.cjs +1 -18
- package/dist/types/theme/style-types.cjs +1 -18
- package/dist/utils/cn.cjs +1 -49
- package/dist/utils/cn.js +1 -5
- package/dist/utils/merge-styles.cjs +1 -62
- package/dist/utils/merge-styles.js +1 -28
- package/dist/utils/test-helpers.cjs +1 -70
- package/dist/utils/test-helpers.js +1 -33
- package/dist/utils/translations.cjs +1 -89
- package/dist/utils/translations.js +1 -49
- package/package.json +4 -6
|
@@ -1,139 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __webpack_exports__ = {};
|
|
3
|
-
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
4
|
-
const external_vitest_namespaceObject = require("vitest");
|
|
5
|
-
const external_vitest_browser_react_namespaceObject = require("vitest-browser-react");
|
|
6
|
-
const use_consent_manager_cjs_namespaceObject = require("../../hooks/use-consent-manager.cjs");
|
|
7
|
-
const external_consent_manager_provider_cjs_namespaceObject = require("../consent-manager-provider.cjs");
|
|
8
|
-
const external_test_helpers_cjs_namespaceObject = require("./test-helpers.cjs");
|
|
9
|
-
const { mockConfigureConsentManager } = (0, external_test_helpers_cjs_namespaceObject.setupMocks)();
|
|
10
|
-
external_vitest_namespaceObject.vi.mock('c15t', async ()=>{
|
|
11
|
-
const originalModule = await external_vitest_namespaceObject.vi.importActual('c15t');
|
|
12
|
-
return {
|
|
13
|
-
...originalModule,
|
|
14
|
-
configureConsentManager: (options)=>{
|
|
15
|
-
mockConfigureConsentManager(options);
|
|
16
|
-
return {
|
|
17
|
-
getCallbacks: ()=>options.callbacks || {},
|
|
18
|
-
showConsentBanner: async ()=>({
|
|
19
|
-
ok: true,
|
|
20
|
-
data: {
|
|
21
|
-
showConsentBanner: true
|
|
22
|
-
},
|
|
23
|
-
error: null,
|
|
24
|
-
response: null
|
|
25
|
-
}),
|
|
26
|
-
setConsent: async ()=>({
|
|
27
|
-
ok: true,
|
|
28
|
-
data: {
|
|
29
|
-
success: true
|
|
30
|
-
},
|
|
31
|
-
error: null,
|
|
32
|
-
response: null
|
|
33
|
-
}),
|
|
34
|
-
verifyConsent: async ()=>({
|
|
35
|
-
ok: true,
|
|
36
|
-
data: {
|
|
37
|
-
valid: true
|
|
38
|
-
},
|
|
39
|
-
error: null,
|
|
40
|
-
response: null
|
|
41
|
-
})
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
});
|
|
46
|
-
const modifyContextShowPopup = external_vitest_namespaceObject.vi.fn();
|
|
47
|
-
external_vitest_namespaceObject.vi.mock('../../hooks/use-consent-manager', async ()=>{
|
|
48
|
-
const originalModule = await external_vitest_namespaceObject.vi.importActual('../../hooks/use-consent-manager');
|
|
49
|
-
return {
|
|
50
|
-
...originalModule,
|
|
51
|
-
useConsentManager: ()=>{
|
|
52
|
-
const result = originalModule.useConsentManager();
|
|
53
|
-
result.showPopup = true;
|
|
54
|
-
modifyContextShowPopup();
|
|
55
|
-
return result;
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
});
|
|
59
|
-
(0, external_vitest_namespaceObject.describe)('ConsentManagerProvider Context Values', ()=>{
|
|
60
|
-
(0, external_vitest_namespaceObject.beforeEach)(()=>{
|
|
61
|
-
external_vitest_namespaceObject.vi.resetAllMocks();
|
|
62
|
-
external_vitest_namespaceObject.vi.useFakeTimers();
|
|
63
|
-
});
|
|
64
|
-
(0, external_vitest_namespaceObject.afterEach)(()=>{
|
|
65
|
-
external_vitest_namespaceObject.vi.clearAllMocks();
|
|
66
|
-
external_vitest_namespaceObject.vi.useRealTimers();
|
|
67
|
-
});
|
|
68
|
-
(0, external_vitest_namespaceObject.it)('should provide correct context values to children', async ()=>{
|
|
69
|
-
const ConsumerComponent = ()=>{
|
|
70
|
-
const context = (0, use_consent_manager_cjs_namespaceObject.useConsentManager)();
|
|
71
|
-
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
|
|
72
|
-
children: [
|
|
73
|
-
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
74
|
-
"data-testid": "has-manager",
|
|
75
|
-
children: Boolean(context.manager).toString()
|
|
76
|
-
}),
|
|
77
|
-
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
78
|
-
"data-testid": "show-popup",
|
|
79
|
-
children: context.showPopup ? 'true' : 'false'
|
|
80
|
-
}),
|
|
81
|
-
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
82
|
-
"data-testid": "debug-state",
|
|
83
|
-
children: JSON.stringify({
|
|
84
|
-
showPopup: context.showPopup
|
|
85
|
-
})
|
|
86
|
-
})
|
|
87
|
-
]
|
|
88
|
-
});
|
|
89
|
-
};
|
|
90
|
-
const { getByTestId } = (0, external_vitest_browser_react_namespaceObject.render)(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider, {
|
|
91
|
-
options: {
|
|
92
|
-
mode: 'offline',
|
|
93
|
-
react: {
|
|
94
|
-
theme: 'dark'
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
|
-
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(ConsumerComponent, {})
|
|
98
|
-
}));
|
|
99
|
-
await external_vitest_namespaceObject.vi.runAllTimersAsync();
|
|
100
|
-
(0, external_vitest_namespaceObject.expect)(modifyContextShowPopup).toHaveBeenCalled();
|
|
101
|
-
await external_vitest_namespaceObject.vi.waitFor(()=>{
|
|
102
|
-
(0, external_vitest_namespaceObject.expect)(getByTestId('has-manager')).toHaveTextContent('true');
|
|
103
|
-
(0, external_vitest_namespaceObject.expect)(getByTestId('show-popup')).toHaveTextContent('true');
|
|
104
|
-
}, {
|
|
105
|
-
timeout: 3000
|
|
106
|
-
});
|
|
107
|
-
});
|
|
108
|
-
(0, external_vitest_namespaceObject.it)('should execute callbacks when provided', async ()=>{
|
|
109
|
-
const onConsentSet = external_vitest_namespaceObject.vi.fn();
|
|
110
|
-
(0, external_vitest_browser_react_namespaceObject.render)(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider, {
|
|
111
|
-
options: {
|
|
112
|
-
mode: 'offline',
|
|
113
|
-
callbacks: {
|
|
114
|
-
onConsentSet
|
|
115
|
-
}
|
|
116
|
-
},
|
|
117
|
-
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
118
|
-
children: "Test"
|
|
119
|
-
})
|
|
120
|
-
}));
|
|
121
|
-
await external_vitest_namespaceObject.vi.runAllTimersAsync();
|
|
122
|
-
await external_vitest_namespaceObject.vi.waitFor(()=>{
|
|
123
|
-
(0, external_vitest_namespaceObject.expect)(mockConfigureConsentManager).toHaveBeenCalled();
|
|
124
|
-
}, {
|
|
125
|
-
timeout: 3000
|
|
126
|
-
});
|
|
127
|
-
const mockCall = mockConfigureConsentManager.mock.calls[0];
|
|
128
|
-
(0, external_vitest_namespaceObject.expect)(mockCall).toBeDefined();
|
|
129
|
-
if (mockCall) {
|
|
130
|
-
const options = mockCall[0];
|
|
131
|
-
(0, external_vitest_namespaceObject.expect)(options).toHaveProperty('callbacks');
|
|
132
|
-
(0, external_vitest_namespaceObject.expect)(options.callbacks).toHaveProperty('onConsentSet', onConsentSet);
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
});
|
|
136
|
-
for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
137
|
-
Object.defineProperty(exports, '__esModule', {
|
|
138
|
-
value: true
|
|
139
|
-
});
|
|
1
|
+
"use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};let jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),use_consent_manager_cjs_namespaceObject=require("../../hooks/use-consent-manager.cjs"),external_consent_manager_provider_cjs_namespaceObject=require("../consent-manager-provider.cjs"),external_test_helpers_cjs_namespaceObject=require("./test-helpers.cjs"),{mockConfigureConsentManager:e}=(0,external_test_helpers_cjs_namespaceObject.setupMocks)();external_vitest_namespaceObject.vi.mock("c15t",async()=>({...await external_vitest_namespaceObject.vi.importActual("c15t"),configureConsentManager:t=>(e(t),{getCallbacks:()=>t.callbacks||{},showConsentBanner:async()=>({ok:!0,data:{showConsentBanner:!0},error:null,response:null}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})})}));let modifyContextShowPopup=external_vitest_namespaceObject.vi.fn();for(var __webpack_i__ in external_vitest_namespaceObject.vi.mock("../../hooks/use-consent-manager",async()=>{let e=await external_vitest_namespaceObject.vi.importActual("../../hooks/use-consent-manager");return{...e,useConsentManager:()=>{let t=e.useConsentManager();return t.showPopup=!0,modifyContextShowPopup(),t}}}),(0,external_vitest_namespaceObject.describe)("ConsentManagerProvider Context Values",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{external_vitest_namespaceObject.vi.resetAllMocks(),external_vitest_namespaceObject.vi.useFakeTimers()}),(0,external_vitest_namespaceObject.afterEach)(()=>{external_vitest_namespaceObject.vi.clearAllMocks(),external_vitest_namespaceObject.vi.useRealTimers()}),(0,external_vitest_namespaceObject.it)("should provide correct context values to children",async()=>{let{getByTestId:e}=(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",react:{theme:"dark"}},children:(0,jsx_runtime_namespaceObject.jsx)(()=>{let e=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)();return(0,jsx_runtime_namespaceObject.jsxs)("div",{children:[(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"has-manager",children:(!!e.manager).toString()}),(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"show-popup",children:e.showPopup?"true":"false"}),(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"debug-state",children:JSON.stringify({showPopup:e.showPopup})})]})},{})}));await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(modifyContextShowPopup).toHaveBeenCalled(),await external_vitest_namespaceObject.vi.waitFor(()=>{(0,external_vitest_namespaceObject.expect)(e("has-manager")).toHaveTextContent("true"),(0,external_vitest_namespaceObject.expect)(e("show-popup")).toHaveTextContent("true")},{timeout:3e3})}),(0,external_vitest_namespaceObject.it)("should execute callbacks when provided",async()=>{let t=external_vitest_namespaceObject.vi.fn();(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",callbacks:{onConsentSet:t}},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Test"})})),await external_vitest_namespaceObject.vi.runAllTimersAsync(),await external_vitest_namespaceObject.vi.waitFor(()=>{(0,external_vitest_namespaceObject.expect)(e).toHaveBeenCalled()},{timeout:3e3});let a=e.mock.calls[0];if((0,external_vitest_namespaceObject.expect)(a).toBeDefined(),a){let e=a[0];(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("callbacks"),(0,external_vitest_namespaceObject.expect)(e.callbacks).toHaveProperty("onConsentSet",t)}})}),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1,133 +1 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as __WEBPACK_EXTERNAL_MODULE_vitest__ from "vitest";
|
|
3
|
-
import * as __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__ from "vitest-browser-react";
|
|
4
|
-
import * as __WEBPACK_EXTERNAL_MODULE__hooks_use_consent_manager_js_5d8ab60c__ from "../../hooks/use-consent-manager.js";
|
|
5
|
-
import * as __WEBPACK_EXTERNAL_MODULE__consent_manager_provider_js_cc2bd289__ from "../consent-manager-provider.js";
|
|
6
|
-
import * as __WEBPACK_EXTERNAL_MODULE__test_helpers_js_2a37cce2__ from "./test-helpers.js";
|
|
7
|
-
const { mockConfigureConsentManager } = (0, __WEBPACK_EXTERNAL_MODULE__test_helpers_js_2a37cce2__.setupMocks)();
|
|
8
|
-
__WEBPACK_EXTERNAL_MODULE_vitest__.vi.mock('c15t', async ()=>{
|
|
9
|
-
const originalModule = await __WEBPACK_EXTERNAL_MODULE_vitest__.vi.importActual('c15t');
|
|
10
|
-
return {
|
|
11
|
-
...originalModule,
|
|
12
|
-
configureConsentManager: (options)=>{
|
|
13
|
-
mockConfigureConsentManager(options);
|
|
14
|
-
return {
|
|
15
|
-
getCallbacks: ()=>options.callbacks || {},
|
|
16
|
-
showConsentBanner: async ()=>({
|
|
17
|
-
ok: true,
|
|
18
|
-
data: {
|
|
19
|
-
showConsentBanner: true
|
|
20
|
-
},
|
|
21
|
-
error: null,
|
|
22
|
-
response: null
|
|
23
|
-
}),
|
|
24
|
-
setConsent: async ()=>({
|
|
25
|
-
ok: true,
|
|
26
|
-
data: {
|
|
27
|
-
success: true
|
|
28
|
-
},
|
|
29
|
-
error: null,
|
|
30
|
-
response: null
|
|
31
|
-
}),
|
|
32
|
-
verifyConsent: async ()=>({
|
|
33
|
-
ok: true,
|
|
34
|
-
data: {
|
|
35
|
-
valid: true
|
|
36
|
-
},
|
|
37
|
-
error: null,
|
|
38
|
-
response: null
|
|
39
|
-
})
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
});
|
|
44
|
-
const modifyContextShowPopup = __WEBPACK_EXTERNAL_MODULE_vitest__.vi.fn();
|
|
45
|
-
__WEBPACK_EXTERNAL_MODULE_vitest__.vi.mock('../../hooks/use-consent-manager', async ()=>{
|
|
46
|
-
const originalModule = await __WEBPACK_EXTERNAL_MODULE_vitest__.vi.importActual('../../hooks/use-consent-manager');
|
|
47
|
-
return {
|
|
48
|
-
...originalModule,
|
|
49
|
-
useConsentManager: ()=>{
|
|
50
|
-
const result = originalModule.useConsentManager();
|
|
51
|
-
result.showPopup = true;
|
|
52
|
-
modifyContextShowPopup();
|
|
53
|
-
return result;
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
});
|
|
57
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.describe)('ConsentManagerProvider Context Values', ()=>{
|
|
58
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.beforeEach)(()=>{
|
|
59
|
-
__WEBPACK_EXTERNAL_MODULE_vitest__.vi.resetAllMocks();
|
|
60
|
-
__WEBPACK_EXTERNAL_MODULE_vitest__.vi.useFakeTimers();
|
|
61
|
-
});
|
|
62
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.afterEach)(()=>{
|
|
63
|
-
__WEBPACK_EXTERNAL_MODULE_vitest__.vi.clearAllMocks();
|
|
64
|
-
__WEBPACK_EXTERNAL_MODULE_vitest__.vi.useRealTimers();
|
|
65
|
-
});
|
|
66
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.it)('should provide correct context values to children', async ()=>{
|
|
67
|
-
const ConsumerComponent = ()=>{
|
|
68
|
-
const context = (0, __WEBPACK_EXTERNAL_MODULE__hooks_use_consent_manager_js_5d8ab60c__.useConsentManager)();
|
|
69
|
-
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
|
|
70
|
-
children: [
|
|
71
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
72
|
-
"data-testid": "has-manager",
|
|
73
|
-
children: Boolean(context.manager).toString()
|
|
74
|
-
}),
|
|
75
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
76
|
-
"data-testid": "show-popup",
|
|
77
|
-
children: context.showPopup ? 'true' : 'false'
|
|
78
|
-
}),
|
|
79
|
-
/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
80
|
-
"data-testid": "debug-state",
|
|
81
|
-
children: JSON.stringify({
|
|
82
|
-
showPopup: context.showPopup
|
|
83
|
-
})
|
|
84
|
-
})
|
|
85
|
-
]
|
|
86
|
-
});
|
|
87
|
-
};
|
|
88
|
-
const { getByTestId } = (0, __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__.render)(/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__consent_manager_provider_js_cc2bd289__.ConsentManagerProvider, {
|
|
89
|
-
options: {
|
|
90
|
-
mode: 'offline',
|
|
91
|
-
react: {
|
|
92
|
-
theme: 'dark'
|
|
93
|
-
}
|
|
94
|
-
},
|
|
95
|
-
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(ConsumerComponent, {})
|
|
96
|
-
}));
|
|
97
|
-
await __WEBPACK_EXTERNAL_MODULE_vitest__.vi.runAllTimersAsync();
|
|
98
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(modifyContextShowPopup).toHaveBeenCalled();
|
|
99
|
-
await __WEBPACK_EXTERNAL_MODULE_vitest__.vi.waitFor(()=>{
|
|
100
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(getByTestId('has-manager')).toHaveTextContent('true');
|
|
101
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(getByTestId('show-popup')).toHaveTextContent('true');
|
|
102
|
-
}, {
|
|
103
|
-
timeout: 3000
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.it)('should execute callbacks when provided', async ()=>{
|
|
107
|
-
const onConsentSet = __WEBPACK_EXTERNAL_MODULE_vitest__.vi.fn();
|
|
108
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__.render)(/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__consent_manager_provider_js_cc2bd289__.ConsentManagerProvider, {
|
|
109
|
-
options: {
|
|
110
|
-
mode: 'offline',
|
|
111
|
-
callbacks: {
|
|
112
|
-
onConsentSet
|
|
113
|
-
}
|
|
114
|
-
},
|
|
115
|
-
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
116
|
-
children: "Test"
|
|
117
|
-
})
|
|
118
|
-
}));
|
|
119
|
-
await __WEBPACK_EXTERNAL_MODULE_vitest__.vi.runAllTimersAsync();
|
|
120
|
-
await __WEBPACK_EXTERNAL_MODULE_vitest__.vi.waitFor(()=>{
|
|
121
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(mockConfigureConsentManager).toHaveBeenCalled();
|
|
122
|
-
}, {
|
|
123
|
-
timeout: 3000
|
|
124
|
-
});
|
|
125
|
-
const mockCall = mockConfigureConsentManager.mock.calls[0];
|
|
126
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(mockCall).toBeDefined();
|
|
127
|
-
if (mockCall) {
|
|
128
|
-
const options = mockCall[0];
|
|
129
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(options).toHaveProperty('callbacks');
|
|
130
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(options.callbacks).toHaveProperty('onConsentSet', onConsentSet);
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
});
|
|
1
|
+
import*as e from"react/jsx-runtime";import*as t from"vitest";import*as s from"vitest-browser-react";import*as a from"../../hooks/use-consent-manager.js";import*as o from"../consent-manager-provider.js";import*as n from"./test-helpers.js";let{mockConfigureConsentManager:r}=(0,n.setupMocks)();t.vi.mock("c15t",async()=>({...await t.vi.importActual("c15t"),configureConsentManager:e=>(r(e),{getCallbacks:()=>e.callbacks||{},showConsentBanner:async()=>({ok:!0,data:{showConsentBanner:!0},error:null,response:null}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})})}));let i=t.vi.fn();t.vi.mock("../../hooks/use-consent-manager",async()=>{let e=await t.vi.importActual("../../hooks/use-consent-manager");return{...e,useConsentManager:()=>{let t=e.useConsentManager();return t.showPopup=!0,i(),t}}}),(0,t.describe)("ConsentManagerProvider Context Values",()=>{(0,t.beforeEach)(()=>{t.vi.resetAllMocks(),t.vi.useFakeTimers()}),(0,t.afterEach)(()=>{t.vi.clearAllMocks(),t.vi.useRealTimers()}),(0,t.it)("should provide correct context values to children",async()=>{let{getByTestId:n}=(0,s.render)((0,e.jsx)(o.ConsentManagerProvider,{options:{mode:"offline",react:{theme:"dark"}},children:(0,e.jsx)(()=>{let t=(0,a.useConsentManager)();return(0,e.jsxs)("div",{children:[(0,e.jsx)("div",{"data-testid":"has-manager",children:(!!t.manager).toString()}),(0,e.jsx)("div",{"data-testid":"show-popup",children:t.showPopup?"true":"false"}),(0,e.jsx)("div",{"data-testid":"debug-state",children:JSON.stringify({showPopup:t.showPopup})})]})},{})}));await t.vi.runAllTimersAsync(),(0,t.expect)(i).toHaveBeenCalled(),await t.vi.waitFor(()=>{(0,t.expect)(n("has-manager")).toHaveTextContent("true"),(0,t.expect)(n("show-popup")).toHaveTextContent("true")},{timeout:3e3})}),(0,t.it)("should execute callbacks when provided",async()=>{let a=t.vi.fn();(0,s.render)((0,e.jsx)(o.ConsentManagerProvider,{options:{mode:"offline",callbacks:{onConsentSet:a}},children:(0,e.jsx)("div",{children:"Test"})})),await t.vi.runAllTimersAsync(),await t.vi.waitFor(()=>{(0,t.expect)(r).toHaveBeenCalled()},{timeout:3e3});let n=r.mock.calls[0];if((0,t.expect)(n).toBeDefined(),n){let e=n[0];(0,t.expect)(e).toHaveProperty("callbacks"),(0,t.expect)(e.callbacks).toHaveProperty("onConsentSet",a)}})});
|
|
@@ -1,98 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __webpack_exports__ = {};
|
|
3
|
-
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
4
|
-
const external_vitest_namespaceObject = require("vitest");
|
|
5
|
-
const external_vitest_browser_react_namespaceObject = require("vitest-browser-react");
|
|
6
|
-
const use_consent_manager_cjs_namespaceObject = require("../../hooks/use-consent-manager.cjs");
|
|
7
|
-
const external_consent_manager_provider_cjs_namespaceObject = require("../consent-manager-provider.cjs");
|
|
8
|
-
const external_test_helpers_cjs_namespaceObject = require("./test-helpers.cjs");
|
|
9
|
-
const { mockFetch } = (0, external_test_helpers_cjs_namespaceObject.setupMocks)();
|
|
10
|
-
external_vitest_namespaceObject.vi.mock('c15t', async ()=>{
|
|
11
|
-
const originalModule = await external_vitest_namespaceObject.vi.importActual('c15t');
|
|
12
|
-
return {
|
|
13
|
-
...originalModule,
|
|
14
|
-
configureConsentManager: (options)=>{
|
|
15
|
-
const backendURL = options.backendURL || '';
|
|
16
|
-
if ('c15t' === options.mode) mockFetch(`${backendURL}/show-consent-banner`, {
|
|
17
|
-
headers: {
|
|
18
|
-
'Content-Type': 'application/json'
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
return {
|
|
22
|
-
getCallbacks: ()=>options.callbacks || {},
|
|
23
|
-
showConsentBanner: async ()=>({
|
|
24
|
-
ok: false,
|
|
25
|
-
data: null,
|
|
26
|
-
error: {
|
|
27
|
-
message: 'API error'
|
|
28
|
-
},
|
|
29
|
-
response: new Response(JSON.stringify({
|
|
30
|
-
error: 'API error'
|
|
31
|
-
}), {
|
|
32
|
-
status: 500,
|
|
33
|
-
headers: {
|
|
34
|
-
'Content-Type': 'application/json'
|
|
35
|
-
}
|
|
36
|
-
})
|
|
37
|
-
}),
|
|
38
|
-
setConsent: async ()=>({
|
|
39
|
-
ok: true,
|
|
40
|
-
data: {
|
|
41
|
-
success: true
|
|
42
|
-
},
|
|
43
|
-
error: null,
|
|
44
|
-
response: null
|
|
45
|
-
}),
|
|
46
|
-
verifyConsent: async ()=>({
|
|
47
|
-
ok: true,
|
|
48
|
-
data: {
|
|
49
|
-
valid: true
|
|
50
|
-
},
|
|
51
|
-
error: null,
|
|
52
|
-
response: null
|
|
53
|
-
})
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
});
|
|
58
|
-
(0, external_vitest_namespaceObject.describe)('ConsentManagerProvider Error Handling', ()=>{
|
|
59
|
-
(0, external_vitest_namespaceObject.beforeEach)(()=>{
|
|
60
|
-
external_vitest_namespaceObject.vi.resetAllMocks();
|
|
61
|
-
mockFetch.mockResolvedValueOnce(new Response(JSON.stringify({
|
|
62
|
-
error: 'API error'
|
|
63
|
-
}), {
|
|
64
|
-
status: 500,
|
|
65
|
-
headers: {
|
|
66
|
-
'Content-Type': 'application/json'
|
|
67
|
-
}
|
|
68
|
-
}));
|
|
69
|
-
});
|
|
70
|
-
(0, external_vitest_namespaceObject.afterEach)(()=>{
|
|
71
|
-
external_vitest_namespaceObject.vi.clearAllMocks();
|
|
72
|
-
});
|
|
73
|
-
(0, external_vitest_namespaceObject.it)('should handle errors from API responses', async ()=>{
|
|
74
|
-
const ErrorDetectingComponent = ()=>{
|
|
75
|
-
const consentManager = (0, use_consent_manager_cjs_namespaceObject.useConsentManager)();
|
|
76
|
-
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
77
|
-
"data-testid": "request-state",
|
|
78
|
-
children: consentManager.manager ? 'Manager Ready' : 'Manager Not Ready'
|
|
79
|
-
});
|
|
80
|
-
};
|
|
81
|
-
const { getByTestId } = (0, external_vitest_browser_react_namespaceObject.render)(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider, {
|
|
82
|
-
options: {
|
|
83
|
-
mode: 'c15t',
|
|
84
|
-
backendURL: '/api/c15t'
|
|
85
|
-
},
|
|
86
|
-
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(ErrorDetectingComponent, {})
|
|
87
|
-
}));
|
|
88
|
-
await external_vitest_namespaceObject.vi.waitFor(()=>{
|
|
89
|
-
const requestState = getByTestId('request-state');
|
|
90
|
-
(0, external_vitest_namespaceObject.expect)(requestState).toHaveTextContent(/Manager (Not )?Ready/);
|
|
91
|
-
});
|
|
92
|
-
(0, external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledTimes(1);
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
96
|
-
Object.defineProperty(exports, '__esModule', {
|
|
97
|
-
value: true
|
|
98
|
-
});
|
|
1
|
+
"use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};let jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),use_consent_manager_cjs_namespaceObject=require("../../hooks/use-consent-manager.cjs"),external_consent_manager_provider_cjs_namespaceObject=require("../consent-manager-provider.cjs"),external_test_helpers_cjs_namespaceObject=require("./test-helpers.cjs"),{mockFetch:e}=(0,external_test_helpers_cjs_namespaceObject.setupMocks)();for(var __webpack_i__ in external_vitest_namespaceObject.vi.mock("c15t",async()=>({...await external_vitest_namespaceObject.vi.importActual("c15t"),configureConsentManager:t=>{let a=t.backendURL||"";return"c15t"===t.mode&&e(`${a}/show-consent-banner`,{headers:{"Content-Type":"application/json"}}),{getCallbacks:()=>t.callbacks||{},showConsentBanner:async()=>({ok:!1,data:null,error:{message:"API error"},response:new Response(JSON.stringify({error:"API error"}),{status:500,headers:{"Content-Type":"application/json"}})}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})}}})),(0,external_vitest_namespaceObject.describe)("ConsentManagerProvider Error Handling",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{external_vitest_namespaceObject.vi.resetAllMocks(),e.mockResolvedValueOnce(new Response(JSON.stringify({error:"API error"}),{status:500,headers:{"Content-Type":"application/json"}}))}),(0,external_vitest_namespaceObject.afterEach)(()=>{external_vitest_namespaceObject.vi.clearAllMocks()}),(0,external_vitest_namespaceObject.it)("should handle errors from API responses",async()=>{let{getByTestId:t}=(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t"},children:(0,jsx_runtime_namespaceObject.jsx)(()=>{let e=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)();return(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"request-state",children:e.manager?"Manager Ready":"Manager Not Ready"})},{})}));await external_vitest_namespaceObject.vi.waitFor(()=>{let e=t("request-state");(0,external_vitest_namespaceObject.expect)(e).toHaveTextContent(/Manager (Not )?Ready/)}),(0,external_vitest_namespaceObject.expect)(e).toHaveBeenCalledTimes(1)})}),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1,92 +1 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as __WEBPACK_EXTERNAL_MODULE_vitest__ from "vitest";
|
|
3
|
-
import * as __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__ from "vitest-browser-react";
|
|
4
|
-
import * as __WEBPACK_EXTERNAL_MODULE__hooks_use_consent_manager_js_5d8ab60c__ from "../../hooks/use-consent-manager.js";
|
|
5
|
-
import * as __WEBPACK_EXTERNAL_MODULE__consent_manager_provider_js_cc2bd289__ from "../consent-manager-provider.js";
|
|
6
|
-
import * as __WEBPACK_EXTERNAL_MODULE__test_helpers_js_2a37cce2__ from "./test-helpers.js";
|
|
7
|
-
const { mockFetch } = (0, __WEBPACK_EXTERNAL_MODULE__test_helpers_js_2a37cce2__.setupMocks)();
|
|
8
|
-
__WEBPACK_EXTERNAL_MODULE_vitest__.vi.mock('c15t', async ()=>{
|
|
9
|
-
const originalModule = await __WEBPACK_EXTERNAL_MODULE_vitest__.vi.importActual('c15t');
|
|
10
|
-
return {
|
|
11
|
-
...originalModule,
|
|
12
|
-
configureConsentManager: (options)=>{
|
|
13
|
-
const backendURL = options.backendURL || '';
|
|
14
|
-
if ('c15t' === options.mode) mockFetch(`${backendURL}/show-consent-banner`, {
|
|
15
|
-
headers: {
|
|
16
|
-
'Content-Type': 'application/json'
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
return {
|
|
20
|
-
getCallbacks: ()=>options.callbacks || {},
|
|
21
|
-
showConsentBanner: async ()=>({
|
|
22
|
-
ok: false,
|
|
23
|
-
data: null,
|
|
24
|
-
error: {
|
|
25
|
-
message: 'API error'
|
|
26
|
-
},
|
|
27
|
-
response: new Response(JSON.stringify({
|
|
28
|
-
error: 'API error'
|
|
29
|
-
}), {
|
|
30
|
-
status: 500,
|
|
31
|
-
headers: {
|
|
32
|
-
'Content-Type': 'application/json'
|
|
33
|
-
}
|
|
34
|
-
})
|
|
35
|
-
}),
|
|
36
|
-
setConsent: async ()=>({
|
|
37
|
-
ok: true,
|
|
38
|
-
data: {
|
|
39
|
-
success: true
|
|
40
|
-
},
|
|
41
|
-
error: null,
|
|
42
|
-
response: null
|
|
43
|
-
}),
|
|
44
|
-
verifyConsent: async ()=>({
|
|
45
|
-
ok: true,
|
|
46
|
-
data: {
|
|
47
|
-
valid: true
|
|
48
|
-
},
|
|
49
|
-
error: null,
|
|
50
|
-
response: null
|
|
51
|
-
})
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
});
|
|
56
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.describe)('ConsentManagerProvider Error Handling', ()=>{
|
|
57
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.beforeEach)(()=>{
|
|
58
|
-
__WEBPACK_EXTERNAL_MODULE_vitest__.vi.resetAllMocks();
|
|
59
|
-
mockFetch.mockResolvedValueOnce(new Response(JSON.stringify({
|
|
60
|
-
error: 'API error'
|
|
61
|
-
}), {
|
|
62
|
-
status: 500,
|
|
63
|
-
headers: {
|
|
64
|
-
'Content-Type': 'application/json'
|
|
65
|
-
}
|
|
66
|
-
}));
|
|
67
|
-
});
|
|
68
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.afterEach)(()=>{
|
|
69
|
-
__WEBPACK_EXTERNAL_MODULE_vitest__.vi.clearAllMocks();
|
|
70
|
-
});
|
|
71
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.it)('should handle errors from API responses', async ()=>{
|
|
72
|
-
const ErrorDetectingComponent = ()=>{
|
|
73
|
-
const consentManager = (0, __WEBPACK_EXTERNAL_MODULE__hooks_use_consent_manager_js_5d8ab60c__.useConsentManager)();
|
|
74
|
-
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
|
|
75
|
-
"data-testid": "request-state",
|
|
76
|
-
children: consentManager.manager ? 'Manager Ready' : 'Manager Not Ready'
|
|
77
|
-
});
|
|
78
|
-
};
|
|
79
|
-
const { getByTestId } = (0, __WEBPACK_EXTERNAL_MODULE_vitest_browser_react_6a851916__.render)(/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__consent_manager_provider_js_cc2bd289__.ConsentManagerProvider, {
|
|
80
|
-
options: {
|
|
81
|
-
mode: 'c15t',
|
|
82
|
-
backendURL: '/api/c15t'
|
|
83
|
-
},
|
|
84
|
-
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(ErrorDetectingComponent, {})
|
|
85
|
-
}));
|
|
86
|
-
await __WEBPACK_EXTERNAL_MODULE_vitest__.vi.waitFor(()=>{
|
|
87
|
-
const requestState = getByTestId('request-state');
|
|
88
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(requestState).toHaveTextContent(/Manager (Not )?Ready/);
|
|
89
|
-
});
|
|
90
|
-
(0, __WEBPACK_EXTERNAL_MODULE_vitest__.expect)(mockFetch).toHaveBeenCalledTimes(1);
|
|
91
|
-
});
|
|
92
|
-
});
|
|
1
|
+
import*as e from"react/jsx-runtime";import*as r from"vitest";import*as s from"vitest-browser-react";import*as t from"../../hooks/use-consent-manager.js";import*as a from"../consent-manager-provider.js";import*as n from"./test-helpers.js";let{mockFetch:o}=(0,n.setupMocks)();r.vi.mock("c15t",async()=>({...await r.vi.importActual("c15t"),configureConsentManager:e=>{let r=e.backendURL||"";return"c15t"===e.mode&&o(`${r}/show-consent-banner`,{headers:{"Content-Type":"application/json"}}),{getCallbacks:()=>e.callbacks||{},showConsentBanner:async()=>({ok:!1,data:null,error:{message:"API error"},response:new Response(JSON.stringify({error:"API error"}),{status:500,headers:{"Content-Type":"application/json"}})}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})}}})),(0,r.describe)("ConsentManagerProvider Error Handling",()=>{(0,r.beforeEach)(()=>{r.vi.resetAllMocks(),o.mockResolvedValueOnce(new Response(JSON.stringify({error:"API error"}),{status:500,headers:{"Content-Type":"application/json"}}))}),(0,r.afterEach)(()=>{r.vi.clearAllMocks()}),(0,r.it)("should handle errors from API responses",async()=>{let{getByTestId:n}=(0,s.render)((0,e.jsx)(a.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t"},children:(0,e.jsx)(()=>{let r=(0,t.useConsentManager)();return(0,e.jsx)("div",{"data-testid":"request-state",children:r.manager?"Manager Ready":"Manager Not Ready"})},{})}));await r.vi.waitFor(()=>{let e=n("request-state");(0,r.expect)(e).toHaveTextContent(/Manager (Not )?Ready/)}),(0,r.expect)(o).toHaveBeenCalledTimes(1)})});
|