UNPKG

@testing-library/angular

Version:
1 lines 2.91 kB
{"version":3,"file":"testing-library-angular-jest-utils.mjs","sources":["../../../../projects/testing-library/jest-utils/src/lib/create-mock.ts","../../../../projects/testing-library/jest-utils/src/public_api.ts","../../../../projects/testing-library/jest-utils/src/testing-library-angular-jest-utils.ts"],"sourcesContent":["import { Type, Provider } from '@angular/core';\n\nexport type Mock<T> = T & { [K in keyof T]: T[K] & jest.Mock };\n\nexport function createMock<T>(type: Type<T>): Mock<T> {\n const mock: any = {};\n\n function mockFunctions(proto: any) {\n if (!proto) {\n return;\n }\n\n for (const prop of Object.getOwnPropertyNames(proto)) {\n if (prop === 'constructor') {\n continue;\n }\n\n const descriptor = Object.getOwnPropertyDescriptor(proto, prop);\n if (typeof descriptor?.value === 'function') {\n mock[prop] = jest.fn();\n }\n }\n\n mockFunctions(Object.getPrototypeOf(proto));\n }\n\n mockFunctions(type.prototype);\n\n return mock;\n}\n\nexport function createMockWithValues<T, K extends keyof T>(type: Type<T>, values: Partial<Record<K, T[K]>>): Mock<T> {\n const mock = createMock(type);\n\n Object.entries(values).forEach(([field, value]) => {\n (mock as any)[field] = value;\n });\n\n return mock;\n}\n\nexport function provideMock<T>(type: Type<T>): Provider {\n return {\n provide: type,\n useValue: createMock(type),\n };\n}\n\nexport function provideMockWithValues<T, K extends keyof T>(type: Type<T>, values: Partial<Record<K, T[K]>>): Provider {\n return {\n provide: type,\n useValue: createMockWithValues(type, values),\n };\n}\n","/*\n * Public API Surface of testing-library\n */\n\nexport * from './lib';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"AAIM,SAAU,UAAU,CAAI,IAAa,EAAA;IACzC,MAAM,IAAI,GAAQ,EAAE;IAEpB,SAAS,aAAa,CAAC,KAAU,EAAA;QAC/B,IAAI,CAAC,KAAK,EAAE;YACV;;QAGF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;AACpD,YAAA,IAAI,IAAI,KAAK,aAAa,EAAE;gBAC1B;;YAGF,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC;AAC/D,YAAA,IAAI,OAAO,UAAU,EAAE,KAAK,KAAK,UAAU,EAAE;gBAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE;;;QAI1B,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;;AAG7C,IAAA,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;AAE7B,IAAA,OAAO,IAAI;AACb;AAEgB,SAAA,oBAAoB,CAAuB,IAAa,EAAE,MAAgC,EAAA;AACxG,IAAA,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;AAE7B,IAAA,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,KAAI;AAC/C,QAAA,IAAY,CAAC,KAAK,CAAC,GAAG,KAAK;AAC9B,KAAC,CAAC;AAEF,IAAA,OAAO,IAAI;AACb;AAEM,SAAU,WAAW,CAAI,IAAa,EAAA;IAC1C,OAAO;AACL,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC;KAC3B;AACH;AAEgB,SAAA,qBAAqB,CAAuB,IAAa,EAAE,MAAgC,EAAA;IACzG,OAAO;AACL,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,QAAQ,EAAE,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC;KAC7C;AACH;;ACrDA;;AAEG;;ACFH;;AAEG;;;;"}