wrapito 13.5.0-beta2 → 13.5.0-beta4

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/index.js CHANGED
@@ -9,7 +9,7 @@ ${g.default.white.bold.bgYellow(" \u{1F32F} wrapito ")}
9
9
  ${g.default.greenBright(`URL: ${r}`)}
10
10
  ${g.default.greenBright(`METHOD: ${o?.toLowerCase()}`)}
11
11
  ${e?` ${g.default.greenBright(`TEST: ${e}`)}
12
- `:""}`),t?t(n,s):_()})};var C,R=e=>{C={...C,...e}},w=()=>({...C});function q(e,t){if(!e)throw new Error(t)}function I(e,t){return typeof t===e}function Ee(e){return e instanceof Promise}function D(e,t,n){Object.defineProperty(e,t,n)}function x(e,t,n){Object.defineProperty(e,t,{value:n})}var M=Symbol.for("tinyspy:spy"),qe=new Set,Pe=e=>{e.called=!1,e.callCount=0,e.calls=[],e.results=[],e.next=[]},Ue=e=>(D(e,M,{value:{reset:()=>Pe(e[M])}}),e[M]),P=e=>e[M]||Ue(e);function We(e){q(I("function",e)||I("undefined",e),"cannot spy on a non-function value");let t=function(...s){let r=P(t);r.called=!0,r.callCount++,r.calls.push(s);let o=r.next.shift();if(o){r.results.push(o);let[u,i]=o;if(u==="ok")return i;throw i}let a,l="ok";if(r.impl)try{new.target?a=Reflect.construct(r.impl,s,new.target):a=r.impl.apply(this,s),l="ok"}catch(u){throw a=u,l="error",r.results.push([l,u]),u}let c=[l,a];if(Ee(a)){let u=a.then(i=>c[1]=i).catch(i=>{throw c[0]="error",c[1]=i,i});Object.assign(u,a),a=u}return r.results.push(c),a};x(t,"_isMockFunction",!0),x(t,"length",e?e.length:0),x(t,"name",e&&e.name||"spy");let n=P(t);return n.reset(),n.impl=e,t}var Q=(e,t)=>Object.getOwnPropertyDescriptor(e,t),J=(e,t)=>{t!=null&&typeof t=="function"&&t.prototype!=null&&Object.setPrototypeOf(e.prototype,t.prototype)};function Y(e,t,n){q(!I("undefined",e),"spyOn could not find an object to spy upon"),q(I("object",e)||I("function",e),"cannot spyOn on a primitive value");let[s,r]=(()=>{if(!I("object",t))return[t,"value"];if("getter"in t&&"setter"in t)throw new Error("cannot spy on both getter and setter");if("getter"in t)return[t.getter,"get"];if("setter"in t)return[t.setter,"set"];throw new Error("specify getter or setter to spy on")})(),o=Q(e,s),a=Object.getPrototypeOf(e),l=a&&Q(a,s),c=o||l;q(c||s in e,`${String(s)} does not exist`);let u=!1;r==="value"&&c&&!c.value&&c.get&&(r="get",u=!0,n=c.get());let i;c?i=c[r]:r!=="value"?i=()=>e[s]:i=e[s],n||(n=i);let d=We(n);r==="value"&&J(d,i);let p=f=>{let{value:k,...W}=c||{configurable:!0,writable:!0};r!=="value"&&delete W.writable,W[r]=f,D(e,s,W)},y=()=>c?D(e,s,c):p(i),h=d[M];return x(h,"restore",y),x(h,"getOriginal",()=>u?i():i),x(h,"willCall",f=>(h.impl=f,d)),p(u?()=>(J(d,n),d):d),qe.add(d),d}var Ae=new Set,Ce=0;function De(e){let t=e,n,s=[],r=[],o=P(e),a={get calls(){return o.calls},get instances(){return s},get invocationCallOrder(){return r},get results(){return o.results.map(([p,y])=>({type:p==="error"?"throw":"return",value:y}))},get lastCall(){return o.calls[o.calls.length-1]}},l=[],c=!1;function u(...p){return s.push(this),r.push(++Ce),(c?n:l.shift()||n||o.getOriginal()||(()=>{})).apply(this,p)}let i=t.name;t.getMockName=()=>i||"vi.fn()",t.mockName=p=>(i=p,t),t.mockClear=()=>(o.reset(),s=[],r=[],t),t.mockReset=()=>(t.mockClear(),n=()=>{},l=[],t),t.mockRestore=()=>(t.mockReset(),o.restore(),n=void 0,t),t.getMockImplementation=()=>n,t.mockImplementation=p=>(n=p,o.willCall(u),t),t.mockImplementationOnce=p=>(l.push(p),t);function d(p,y){let h=n;n=p,o.willCall(u),c=!0;let f=()=>{n=h,c=!1},k=y();return k instanceof Promise?k.then(()=>(f(),t)):(f(),t)}return t.withImplementation=d,t.mockReturnThis=()=>t.mockImplementation(function(){return this}),t.mockReturnValue=p=>t.mockImplementation(()=>p),t.mockReturnValueOnce=p=>t.mockImplementationOnce(()=>p),t.mockResolvedValue=p=>t.mockImplementation(()=>Promise.resolve(p)),t.mockResolvedValueOnce=p=>t.mockImplementationOnce(()=>Promise.resolve(p)),t.mockRejectedValue=p=>t.mockImplementation(()=>Promise.reject(p)),t.mockRejectedValueOnce=p=>t.mockImplementationOnce(()=>Promise.reject(p)),Object.defineProperty(t,"mock",{get:()=>a}),o.willCall(u),Ae.add(t),t}var z=e=>De(Y({spy:e||(()=>{})},"spy"));beforeEach(()=>{global.fetch=z()});afterEach(()=>{let{warnOnPendingRequests:e}=m();if(e){let t=expect.getState?.()?.currentTestName;V(t)}});var He=e=>(R({Component:e,responses:[],props:{},path:"",hasPath:!1,interactionConfig:void 0,debug:process.env.npm_config_debugRequests==="true"}),b()),b=()=>{let e=Ne();return{withProps:$e,withNetwork:Fe,withInteraction:Le,atPath:_e,debugRequests:Ge,mount:Je,...e}},Be=e=>{let t=w(),n=[...t.responses,...e];R({...t,responses:n})},Se=(e,t)=>(t({addResponses:Be},e),b()),je=(e,t)=>{let{extend:n}=m(),s=n[t];return{...e,[t]:(...r)=>Se(r,s)}},Ne=()=>{let{extend:e}=m();return Object.keys(e).reduce(je,{})},$e=e=>{let t=w();return R({...t,props:e}),b()},Le=e=>{let t=w();return R({...t,interactionConfig:e}),b()},Fe=(e=[])=>{let t=w(),n=Array.isArray(e)?e:[e];return R({...t,responses:[...t.responses,...n]}),b()},_e=(e,t)=>{let n=w();return R({...n,historyState:t,path:e,hasPath:!0}),b()},Ge=()=>{let e=w();return R({...e,debug:!0}),b()},Ve=e=>{let{defaultResponses:t=[]}=m();return[...e,...t]},Qe=(e,t,n,s,r)=>{if(e){if(s){console.warn("wrapito WARNING: history is DEPRECATED. Pass a changeRoute function to the config instead."),console.warn("Read about changeRoute in: https://github.com/mercadona/wrapito#changeRoute"),s.push(t,n);return}r(t)}},Je=()=>{let{portal:e,portals:t,changeRoute:n,history:s,mount:r,interaction:o}=m(),{Component:a,props:l,responses:c,path:u,hasPath:i,debug:d,historyState:p,interactionConfig:y}=w(),h=a;e&&X(e),t&&Ye(t),Qe(i,u,p,s,n),G(Ve(c),d);let f=r(K.createElement(h,{...l}));if(o){let k=o.setup?o.setup(o.userLib,y):o.userLib;return{...f,user:k}}return{...f,user:void 0}},X=e=>{if(document.getElementById(e))return;let t=document.createElement("div");t.setAttribute("id",e),t.setAttribute("data-testid",e),document.body.appendChild(t)},Ye=e=>{e.forEach(t=>{X(t)})};var H=require("jest-diff"),B=(e,t)=>{let n=t?.host?`\u{1F32F} Wrapito: ${t?.host}${e} ain't got called`:`\u{1F32F} Wrapito: ${e} ain't got called`;return{pass:!1,message:()=>n}},Z=(e,t,n)=>({pass:!1,message:()=>`\u{1F32F} Wrapito: ${e} is called ${n} times, you expected ${t} times`}),ee=(e,t)=>({pass:!1,message:()=>`\u{1F32F} Wrapito: Fetch method does not match, expected ${e} received ${t??"none"}`}),te=(e,t)=>{let n=t.map(s=>(0,H.diff)(e,s)).join(`
12
+ `:""}`),t?t(n,s):_()})};var C,R=e=>{C={...C,...e}},w=()=>({...C});function q(e,t){if(!e)throw new Error(t)}function I(e,t){return typeof t===e}function Ee(e){return e instanceof Promise}function D(e,t,n){Object.defineProperty(e,t,n)}function x(e,t,n){Object.defineProperty(e,t,{value:n})}var M=Symbol.for("tinyspy:spy"),qe=new Set,Pe=e=>{e.called=!1,e.callCount=0,e.calls=[],e.results=[],e.next=[]},Ue=e=>(D(e,M,{value:{reset:()=>Pe(e[M])}}),e[M]),P=e=>e[M]||Ue(e);function We(e){q(I("function",e)||I("undefined",e),"cannot spy on a non-function value");let t=function(...s){let r=P(t);r.called=!0,r.callCount++,r.calls.push(s);let o=r.next.shift();if(o){r.results.push(o);let[u,i]=o;if(u==="ok")return i;throw i}let a,l="ok";if(r.impl)try{new.target?a=Reflect.construct(r.impl,s,new.target):a=r.impl.apply(this,s),l="ok"}catch(u){throw a=u,l="error",r.results.push([l,u]),u}let c=[l,a];if(Ee(a)){let u=a.then(i=>c[1]=i).catch(i=>{throw c[0]="error",c[1]=i,i});Object.assign(u,a),a=u}return r.results.push(c),a};x(t,"_isMockFunction",!0),x(t,"length",e?e.length:0),x(t,"name",e&&e.name||"spy");let n=P(t);return n.reset(),n.impl=e,t}var Q=(e,t)=>Object.getOwnPropertyDescriptor(e,t),J=(e,t)=>{t!=null&&typeof t=="function"&&t.prototype!=null&&Object.setPrototypeOf(e.prototype,t.prototype)};function Y(e,t,n){q(!I("undefined",e),"spyOn could not find an object to spy upon"),q(I("object",e)||I("function",e),"cannot spyOn on a primitive value");let[s,r]=(()=>{if(!I("object",t))return[t,"value"];if("getter"in t&&"setter"in t)throw new Error("cannot spy on both getter and setter");if("getter"in t)return[t.getter,"get"];if("setter"in t)return[t.setter,"set"];throw new Error("specify getter or setter to spy on")})(),o=Q(e,s),a=Object.getPrototypeOf(e),l=a&&Q(a,s),c=o||l;q(c||s in e,`${String(s)} does not exist`);let u=!1;r==="value"&&c&&!c.value&&c.get&&(r="get",u=!0,n=c.get());let i;c?i=c[r]:r!=="value"?i=()=>e[s]:i=e[s],n||(n=i);let d=We(n);r==="value"&&J(d,i);let p=f=>{let{value:k,...W}=c||{configurable:!0,writable:!0};r!=="value"&&delete W.writable,W[r]=f,D(e,s,W)},y=()=>c?D(e,s,c):p(i),h=d[M];return x(h,"restore",y),x(h,"getOriginal",()=>u?i():i),x(h,"willCall",f=>(h.impl=f,d)),p(u?()=>(J(d,n),d):d),qe.add(d),d}var Ae=new Set,Ce=0;function De(e){let t=e,n,s=[],r=[],o=P(e),a={get calls(){return o.calls},get instances(){return s},get invocationCallOrder(){return r},get results(){return o.results.map(([p,y])=>({type:p==="error"?"throw":"return",value:y}))},get lastCall(){return o.calls[o.calls.length-1]}},l=[],c=!1;function u(...p){return s.push(this),r.push(++Ce),(c?n:l.shift()||n||o.getOriginal()||(()=>{})).apply(this,p)}let i=t.name;t.getMockName=()=>i||"vi.fn()",t.mockName=p=>(i=p,t),t.mockClear=()=>(o.reset(),s=[],r=[],t),t.mockReset=()=>(t.mockClear(),n=()=>{},l=[],t),t.mockRestore=()=>(t.mockReset(),o.restore(),n=void 0,t),t.getMockImplementation=()=>n,t.mockImplementation=p=>(n=p,o.willCall(u),t),t.mockImplementationOnce=p=>(l.push(p),t);function d(p,y){let h=n;n=p,o.willCall(u),c=!0;let f=()=>{n=h,c=!1},k=y();return k instanceof Promise?k.then(()=>(f(),t)):(f(),t)}return t.withImplementation=d,t.mockReturnThis=()=>t.mockImplementation(function(){return this}),t.mockReturnValue=p=>t.mockImplementation(()=>p),t.mockReturnValueOnce=p=>t.mockImplementationOnce(()=>p),t.mockResolvedValue=p=>t.mockImplementation(()=>Promise.resolve(p)),t.mockResolvedValueOnce=p=>t.mockImplementationOnce(()=>Promise.resolve(p)),t.mockRejectedValue=p=>t.mockImplementation(()=>Promise.reject(p)),t.mockRejectedValueOnce=p=>t.mockImplementationOnce(()=>Promise.reject(p)),Object.defineProperty(t,"mock",{get:()=>a}),o.willCall(u),Ae.add(t),t}var z=e=>De(Y({spy:e||(()=>{})},"spy"));beforeEach(()=>{let e=z();global.fetch=e,global.window.fetch=e});afterEach(()=>{let{warnOnPendingRequests:e}=m();if(e){let t=expect.getState?.()?.currentTestName;V(t)}});var He=e=>(R({Component:e,responses:[],props:{},path:"",hasPath:!1,interactionConfig:void 0,debug:process.env.npm_config_debugRequests==="true"}),b()),b=()=>{let e=Ne();return{withProps:$e,withNetwork:Fe,withInteraction:Le,atPath:_e,debugRequests:Ge,mount:Je,...e}},Be=e=>{let t=w(),n=[...t.responses,...e];R({...t,responses:n})},Se=(e,t)=>(t({addResponses:Be},e),b()),je=(e,t)=>{let{extend:n}=m(),s=n[t];return{...e,[t]:(...r)=>Se(r,s)}},Ne=()=>{let{extend:e}=m();return Object.keys(e).reduce(je,{})},$e=e=>{let t=w();return R({...t,props:e}),b()},Le=e=>{let t=w();return R({...t,interactionConfig:e}),b()},Fe=(e=[])=>{let t=w(),n=Array.isArray(e)?e:[e];return R({...t,responses:[...t.responses,...n]}),b()},_e=(e,t)=>{let n=w();return R({...n,historyState:t,path:e,hasPath:!0}),b()},Ge=()=>{let e=w();return R({...e,debug:!0}),b()},Ve=e=>{let{defaultResponses:t=[]}=m();return[...e,...t]},Qe=(e,t,n,s,r)=>{if(e){if(s){console.warn("wrapito WARNING: history is DEPRECATED. Pass a changeRoute function to the config instead."),console.warn("Read about changeRoute in: https://github.com/mercadona/wrapito#changeRoute"),s.push(t,n);return}r(t)}},Je=()=>{let{portal:e,portals:t,changeRoute:n,history:s,mount:r,interaction:o}=m(),{Component:a,props:l,responses:c,path:u,hasPath:i,debug:d,historyState:p,interactionConfig:y}=w(),h=a;e&&X(e),t&&Ye(t),Qe(i,u,p,s,n),G(Ve(c),d);let f=r(K.createElement(h,{...l}));if(o){let k=o.setup?o.setup(o.userLib,y):o.userLib;return{...f,user:k}}return{...f,user:void 0}},X=e=>{if(document.getElementById(e))return;let t=document.createElement("div");t.setAttribute("id",e),t.setAttribute("data-testid",e),document.body.appendChild(t)},Ye=e=>{e.forEach(t=>{X(t)})};var H=require("jest-diff"),B=(e,t)=>{let n=t?.host?`\u{1F32F} Wrapito: ${t?.host}${e} ain't got called`:`\u{1F32F} Wrapito: ${e} ain't got called`;return{pass:!1,message:()=>n}},Z=(e,t,n)=>({pass:!1,message:()=>`\u{1F32F} Wrapito: ${e} is called ${n} times, you expected ${t} times`}),ee=(e,t)=>({pass:!1,message:()=>`\u{1F32F} Wrapito: Fetch method does not match, expected ${e} received ${t??"none"}`}),te=(e,t)=>{let n=t.map(s=>(0,H.diff)(e,s)).join(`
13
13
 
14
14
  `);return{pass:!1,message:()=>`\u{1F32F} Wrapito: Fetch body does not match.
15
15
  ${n}`}},ne=(e,t)=>{let n=t.find(s=>e!==s);return{pass:!1,message:()=>`\u{1F32F} Wrapito: Host request does not match, expected ${e} received ${n}`}},se=(e,t)=>{let n=t.map(s=>(0,H.diff)(e,s)).join(`
package/dist/index.mjs CHANGED
@@ -9,7 +9,7 @@ ${g.white.bold.bgYellow(" \u{1F32F} wrapito ")}
9
9
  ${g.greenBright(`URL: ${r}`)}
10
10
  ${g.greenBright(`METHOD: ${o?.toLowerCase()}`)}
11
11
  ${e?` ${g.greenBright(`TEST: ${e}`)}
12
- `:""}`),t?t(n,s):j()})};var W,R=e=>{W={...W,...e}},w=()=>({...W});function T(e,t){if(!e)throw new Error(t)}function I(e,t){return typeof t===e}function he(e){return e instanceof Promise}function v(e,t,n){Object.defineProperty(e,t,n)}function x(e,t,n){Object.defineProperty(e,t,{value:n})}var M=Symbol.for("tinyspy:spy"),fe=new Set,ye=e=>{e.called=!1,e.callCount=0,e.calls=[],e.results=[],e.next=[]},Re=e=>(v(e,M,{value:{reset:()=>ye(e[M])}}),e[M]),E=e=>e[M]||Re(e);function we(e){T(I("function",e)||I("undefined",e),"cannot spy on a non-function value");let t=function(...s){let r=E(t);r.called=!0,r.callCount++,r.calls.push(s);let o=r.next.shift();if(o){r.results.push(o);let[u,i]=o;if(u==="ok")return i;throw i}let a,l="ok";if(r.impl)try{new.target?a=Reflect.construct(r.impl,s,new.target):a=r.impl.apply(this,s),l="ok"}catch(u){throw a=u,l="error",r.results.push([l,u]),u}let c=[l,a];if(he(a)){let u=a.then(i=>c[1]=i).catch(i=>{throw c[0]="error",c[1]=i,i});Object.assign(u,a),a=u}return r.results.push(c),a};x(t,"_isMockFunction",!0),x(t,"length",e?e.length:0),x(t,"name",e&&e.name||"spy");let n=E(t);return n.reset(),n.impl=e,t}var L=(e,t)=>Object.getOwnPropertyDescriptor(e,t),F=(e,t)=>{t!=null&&typeof t=="function"&&t.prototype!=null&&Object.setPrototypeOf(e.prototype,t.prototype)};function _(e,t,n){T(!I("undefined",e),"spyOn could not find an object to spy upon"),T(I("object",e)||I("function",e),"cannot spyOn on a primitive value");let[s,r]=(()=>{if(!I("object",t))return[t,"value"];if("getter"in t&&"setter"in t)throw new Error("cannot spy on both getter and setter");if("getter"in t)return[t.getter,"get"];if("setter"in t)return[t.setter,"set"];throw new Error("specify getter or setter to spy on")})(),o=L(e,s),a=Object.getPrototypeOf(e),l=a&&L(a,s),c=o||l;T(c||s in e,`${String(s)} does not exist`);let u=!1;r==="value"&&c&&!c.value&&c.get&&(r="get",u=!0,n=c.get());let i;c?i=c[r]:r!=="value"?i=()=>e[s]:i=e[s],n||(n=i);let d=we(n);r==="value"&&F(d,i);let p=f=>{let{value:k,...P}=c||{configurable:!0,writable:!0};r!=="value"&&delete P.writable,P[r]=f,v(e,s,P)},y=()=>c?v(e,s,c):p(i),h=d[M];return x(h,"restore",y),x(h,"getOriginal",()=>u?i():i),x(h,"willCall",f=>(h.impl=f,d)),p(u?()=>(F(d,n),d):d),fe.add(d),d}var Ie=new Set,xe=0;function ke(e){let t=e,n,s=[],r=[],o=E(e),a={get calls(){return o.calls},get instances(){return s},get invocationCallOrder(){return r},get results(){return o.results.map(([p,y])=>({type:p==="error"?"throw":"return",value:y}))},get lastCall(){return o.calls[o.calls.length-1]}},l=[],c=!1;function u(...p){return s.push(this),r.push(++xe),(c?n:l.shift()||n||o.getOriginal()||(()=>{})).apply(this,p)}let i=t.name;t.getMockName=()=>i||"vi.fn()",t.mockName=p=>(i=p,t),t.mockClear=()=>(o.reset(),s=[],r=[],t),t.mockReset=()=>(t.mockClear(),n=()=>{},l=[],t),t.mockRestore=()=>(t.mockReset(),o.restore(),n=void 0,t),t.getMockImplementation=()=>n,t.mockImplementation=p=>(n=p,o.willCall(u),t),t.mockImplementationOnce=p=>(l.push(p),t);function d(p,y){let h=n;n=p,o.willCall(u),c=!0;let f=()=>{n=h,c=!1},k=y();return k instanceof Promise?k.then(()=>(f(),t)):(f(),t)}return t.withImplementation=d,t.mockReturnThis=()=>t.mockImplementation(function(){return this}),t.mockReturnValue=p=>t.mockImplementation(()=>p),t.mockReturnValueOnce=p=>t.mockImplementationOnce(()=>p),t.mockResolvedValue=p=>t.mockImplementation(()=>Promise.resolve(p)),t.mockResolvedValueOnce=p=>t.mockImplementationOnce(()=>Promise.resolve(p)),t.mockRejectedValue=p=>t.mockImplementation(()=>Promise.reject(p)),t.mockRejectedValueOnce=p=>t.mockImplementationOnce(()=>Promise.reject(p)),Object.defineProperty(t,"mock",{get:()=>a}),o.willCall(u),Ie.add(t),t}var G=e=>ke(_({spy:e||(()=>{})},"spy"));beforeEach(()=>{global.fetch=G()});afterEach(()=>{let{warnOnPendingRequests:e}=m();if(e){let t=expect.getState?.()?.currentTestName;$(t)}});var rt=e=>(R({Component:e,responses:[],props:{},path:"",hasPath:!1,interactionConfig:void 0,debug:process.env.npm_config_debugRequests==="true"}),b()),b=()=>{let e=Ee();return{withProps:qe,withNetwork:Ue,withInteraction:Pe,atPath:We,debugRequests:ve,mount:De,...e}},Me=e=>{let t=w(),n=[...t.responses,...e];R({...t,responses:n})},Oe=(e,t)=>(t({addResponses:Me},e),b()),Te=(e,t)=>{let{extend:n}=m(),s=n[t];return{...e,[t]:(...r)=>Oe(r,s)}},Ee=()=>{let{extend:e}=m();return Object.keys(e).reduce(Te,{})},qe=e=>{let t=w();return R({...t,props:e}),b()},Pe=e=>{let t=w();return R({...t,interactionConfig:e}),b()},Ue=(e=[])=>{let t=w(),n=Array.isArray(e)?e:[e];return R({...t,responses:[...t.responses,...n]}),b()},We=(e,t)=>{let n=w();return R({...n,historyState:t,path:e,hasPath:!0}),b()},ve=()=>{let e=w();return R({...e,debug:!0}),b()},Ae=e=>{let{defaultResponses:t=[]}=m();return[...e,...t]},Ce=(e,t,n,s,r)=>{if(e){if(s){console.warn("wrapito WARNING: history is DEPRECATED. Pass a changeRoute function to the config instead."),console.warn("Read about changeRoute in: https://github.com/mercadona/wrapito#changeRoute"),s.push(t,n);return}r(t)}},De=()=>{let{portal:e,portals:t,changeRoute:n,history:s,mount:r,interaction:o}=m(),{Component:a,props:l,responses:c,path:u,hasPath:i,debug:d,historyState:p,interactionConfig:y}=w(),h=a;e&&Q(e),t&&He(t),Ce(i,u,p,s,n),N(Ae(c),d);let f=r(V.createElement(h,{...l}));if(o){let k=o.setup?o.setup(o.userLib,y):o.userLib;return{...f,user:k}}return{...f,user:void 0}},Q=e=>{if(document.getElementById(e))return;let t=document.createElement("div");t.setAttribute("id",e),t.setAttribute("data-testid",e),document.body.appendChild(t)},He=e=>{e.forEach(t=>{Q(t)})};import{diff as J}from"jest-diff";var A=(e,t)=>{let n=t?.host?`\u{1F32F} Wrapito: ${t?.host}${e} ain't got called`:`\u{1F32F} Wrapito: ${e} ain't got called`;return{pass:!1,message:()=>n}},Y=(e,t,n)=>({pass:!1,message:()=>`\u{1F32F} Wrapito: ${e} is called ${n} times, you expected ${t} times`}),z=(e,t)=>({pass:!1,message:()=>`\u{1F32F} Wrapito: Fetch method does not match, expected ${e} received ${t??"none"}`}),K=(e,t)=>{let n=t.map(s=>J(e,s)).join(`
12
+ `:""}`),t?t(n,s):j()})};var W,R=e=>{W={...W,...e}},w=()=>({...W});function T(e,t){if(!e)throw new Error(t)}function I(e,t){return typeof t===e}function he(e){return e instanceof Promise}function v(e,t,n){Object.defineProperty(e,t,n)}function x(e,t,n){Object.defineProperty(e,t,{value:n})}var M=Symbol.for("tinyspy:spy"),fe=new Set,ye=e=>{e.called=!1,e.callCount=0,e.calls=[],e.results=[],e.next=[]},Re=e=>(v(e,M,{value:{reset:()=>ye(e[M])}}),e[M]),E=e=>e[M]||Re(e);function we(e){T(I("function",e)||I("undefined",e),"cannot spy on a non-function value");let t=function(...s){let r=E(t);r.called=!0,r.callCount++,r.calls.push(s);let o=r.next.shift();if(o){r.results.push(o);let[u,i]=o;if(u==="ok")return i;throw i}let a,l="ok";if(r.impl)try{new.target?a=Reflect.construct(r.impl,s,new.target):a=r.impl.apply(this,s),l="ok"}catch(u){throw a=u,l="error",r.results.push([l,u]),u}let c=[l,a];if(he(a)){let u=a.then(i=>c[1]=i).catch(i=>{throw c[0]="error",c[1]=i,i});Object.assign(u,a),a=u}return r.results.push(c),a};x(t,"_isMockFunction",!0),x(t,"length",e?e.length:0),x(t,"name",e&&e.name||"spy");let n=E(t);return n.reset(),n.impl=e,t}var L=(e,t)=>Object.getOwnPropertyDescriptor(e,t),F=(e,t)=>{t!=null&&typeof t=="function"&&t.prototype!=null&&Object.setPrototypeOf(e.prototype,t.prototype)};function _(e,t,n){T(!I("undefined",e),"spyOn could not find an object to spy upon"),T(I("object",e)||I("function",e),"cannot spyOn on a primitive value");let[s,r]=(()=>{if(!I("object",t))return[t,"value"];if("getter"in t&&"setter"in t)throw new Error("cannot spy on both getter and setter");if("getter"in t)return[t.getter,"get"];if("setter"in t)return[t.setter,"set"];throw new Error("specify getter or setter to spy on")})(),o=L(e,s),a=Object.getPrototypeOf(e),l=a&&L(a,s),c=o||l;T(c||s in e,`${String(s)} does not exist`);let u=!1;r==="value"&&c&&!c.value&&c.get&&(r="get",u=!0,n=c.get());let i;c?i=c[r]:r!=="value"?i=()=>e[s]:i=e[s],n||(n=i);let d=we(n);r==="value"&&F(d,i);let p=f=>{let{value:k,...P}=c||{configurable:!0,writable:!0};r!=="value"&&delete P.writable,P[r]=f,v(e,s,P)},y=()=>c?v(e,s,c):p(i),h=d[M];return x(h,"restore",y),x(h,"getOriginal",()=>u?i():i),x(h,"willCall",f=>(h.impl=f,d)),p(u?()=>(F(d,n),d):d),fe.add(d),d}var Ie=new Set,xe=0;function ke(e){let t=e,n,s=[],r=[],o=E(e),a={get calls(){return o.calls},get instances(){return s},get invocationCallOrder(){return r},get results(){return o.results.map(([p,y])=>({type:p==="error"?"throw":"return",value:y}))},get lastCall(){return o.calls[o.calls.length-1]}},l=[],c=!1;function u(...p){return s.push(this),r.push(++xe),(c?n:l.shift()||n||o.getOriginal()||(()=>{})).apply(this,p)}let i=t.name;t.getMockName=()=>i||"vi.fn()",t.mockName=p=>(i=p,t),t.mockClear=()=>(o.reset(),s=[],r=[],t),t.mockReset=()=>(t.mockClear(),n=()=>{},l=[],t),t.mockRestore=()=>(t.mockReset(),o.restore(),n=void 0,t),t.getMockImplementation=()=>n,t.mockImplementation=p=>(n=p,o.willCall(u),t),t.mockImplementationOnce=p=>(l.push(p),t);function d(p,y){let h=n;n=p,o.willCall(u),c=!0;let f=()=>{n=h,c=!1},k=y();return k instanceof Promise?k.then(()=>(f(),t)):(f(),t)}return t.withImplementation=d,t.mockReturnThis=()=>t.mockImplementation(function(){return this}),t.mockReturnValue=p=>t.mockImplementation(()=>p),t.mockReturnValueOnce=p=>t.mockImplementationOnce(()=>p),t.mockResolvedValue=p=>t.mockImplementation(()=>Promise.resolve(p)),t.mockResolvedValueOnce=p=>t.mockImplementationOnce(()=>Promise.resolve(p)),t.mockRejectedValue=p=>t.mockImplementation(()=>Promise.reject(p)),t.mockRejectedValueOnce=p=>t.mockImplementationOnce(()=>Promise.reject(p)),Object.defineProperty(t,"mock",{get:()=>a}),o.willCall(u),Ie.add(t),t}var G=e=>ke(_({spy:e||(()=>{})},"spy"));beforeEach(()=>{let e=G();global.fetch=e,global.window.fetch=e});afterEach(()=>{let{warnOnPendingRequests:e}=m();if(e){let t=expect.getState?.()?.currentTestName;$(t)}});var rt=e=>(R({Component:e,responses:[],props:{},path:"",hasPath:!1,interactionConfig:void 0,debug:process.env.npm_config_debugRequests==="true"}),b()),b=()=>{let e=Ee();return{withProps:qe,withNetwork:Ue,withInteraction:Pe,atPath:We,debugRequests:ve,mount:De,...e}},Me=e=>{let t=w(),n=[...t.responses,...e];R({...t,responses:n})},Oe=(e,t)=>(t({addResponses:Me},e),b()),Te=(e,t)=>{let{extend:n}=m(),s=n[t];return{...e,[t]:(...r)=>Oe(r,s)}},Ee=()=>{let{extend:e}=m();return Object.keys(e).reduce(Te,{})},qe=e=>{let t=w();return R({...t,props:e}),b()},Pe=e=>{let t=w();return R({...t,interactionConfig:e}),b()},Ue=(e=[])=>{let t=w(),n=Array.isArray(e)?e:[e];return R({...t,responses:[...t.responses,...n]}),b()},We=(e,t)=>{let n=w();return R({...n,historyState:t,path:e,hasPath:!0}),b()},ve=()=>{let e=w();return R({...e,debug:!0}),b()},Ae=e=>{let{defaultResponses:t=[]}=m();return[...e,...t]},Ce=(e,t,n,s,r)=>{if(e){if(s){console.warn("wrapito WARNING: history is DEPRECATED. Pass a changeRoute function to the config instead."),console.warn("Read about changeRoute in: https://github.com/mercadona/wrapito#changeRoute"),s.push(t,n);return}r(t)}},De=()=>{let{portal:e,portals:t,changeRoute:n,history:s,mount:r,interaction:o}=m(),{Component:a,props:l,responses:c,path:u,hasPath:i,debug:d,historyState:p,interactionConfig:y}=w(),h=a;e&&Q(e),t&&He(t),Ce(i,u,p,s,n),N(Ae(c),d);let f=r(V.createElement(h,{...l}));if(o){let k=o.setup?o.setup(o.userLib,y):o.userLib;return{...f,user:k}}return{...f,user:void 0}},Q=e=>{if(document.getElementById(e))return;let t=document.createElement("div");t.setAttribute("id",e),t.setAttribute("data-testid",e),document.body.appendChild(t)},He=e=>{e.forEach(t=>{Q(t)})};import{diff as J}from"jest-diff";var A=(e,t)=>{let n=t?.host?`\u{1F32F} Wrapito: ${t?.host}${e} ain't got called`:`\u{1F32F} Wrapito: ${e} ain't got called`;return{pass:!1,message:()=>n}},Y=(e,t,n)=>({pass:!1,message:()=>`\u{1F32F} Wrapito: ${e} is called ${n} times, you expected ${t} times`}),z=(e,t)=>({pass:!1,message:()=>`\u{1F32F} Wrapito: Fetch method does not match, expected ${e} received ${t??"none"}`}),K=(e,t)=>{let n=t.map(s=>J(e,s)).join(`
13
13
 
14
14
  `);return{pass:!1,message:()=>`\u{1F32F} Wrapito: Fetch body does not match.
15
15
  ${n}`}},X=(e,t)=>{let n=t.find(s=>e!==s);return{pass:!1,message:()=>`\u{1F32F} Wrapito: Host request does not match, expected ${e} received ${n}`}},Z=(e,t)=>{let n=t.map(s=>J(e,s)).join(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wrapito",
3
- "version": "13.5.0-beta2",
3
+ "version": "13.5.0-beta4",
4
4
  "packageManager": "npm@10.8.2",
5
5
  "description": "🌯 🌯 Wrap you tests so that you can test both behaviour and components with less effort.",
6
6
  "type": "module",
@@ -53,7 +53,7 @@
53
53
  },
54
54
  "homepage": "https://github.com/mercadona/wrapito#readme",
55
55
  "dependencies": {
56
- "chalk": "^5.6.2",
56
+ "chalk": "^4.1.2",
57
57
  "deep-equal": "^2.2.3",
58
58
  "jest-diff": "^29.7.0",
59
59
  "object-hash": "^3.0.0",