UNPKG

@c15t/react

Version:

Developer-first CMP for React: cookie banner, consent manager, preferences centre. GDPR ready with minimal setup and rich customization

1 lines 3.66 kB
"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_c15t_namespaceObject=require("c15t"),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),{showConsentBanner:async()=>({ok:!0,data:{showConsentBanner:!0,jurisdiction:{code:"GDPR"},translations:{language:"en",translations:external_c15t_namespaceObject.defaultTranslationConfig.translations.en}},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_consent_manager_provider_cjs_namespaceObject.clearConsentManagerCache)()}),(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:{"banner.root":"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})})}),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});