@dbg-riskit/angular-testing
Version:
48 lines • 5.71 kB
JavaScript
import { TestBed } from '@angular/core/testing';
import { CommonViewModule, NoopAnimationsCommonViewModule } from '@dbg-riskit/angular-view';
import { COMPILE_TIMEOUT_INTERVAL } from './environment';
export function disableMaterialAnimations(ngModule) {
TestBed.overrideModule(ngModule, {
remove: {
imports: [CommonViewModule]
},
add: {
imports: [NoopAnimationsCommonViewModule]
}
});
}
export function compileTestBed(compileFunction, destroyFunction, stubMatchMedia = true) {
let matchMedia;
beforeEach((done) => {
if (stubMatchMedia) {
matchMedia = window.matchMedia;
window.matchMedia = fakeMatchMedia();
}
compileFunction()
.then(done)
.catch((err) => {
done.fail(err);
});
}, COMPILE_TIMEOUT_INTERVAL);
afterEach(() => {
if (destroyFunction) {
destroyFunction();
}
if (stubMatchMedia) {
window.matchMedia = matchMedia;
}
}, COMPILE_TIMEOUT_INTERVAL);
}
function fakeMatchMedia(matches = false) {
return (mediaQuery) => ({
matches,
media: mediaQuery,
onchange: () => null,
addListener: () => null,
addEventListener: () => null,
removeListener: () => null,
removeEventListener: () => null,
dispatchEvent: () => true
});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wa2cvZGJnLXJpc2tpdC9hbmd1bGFyLXRlc3Rpbmcvc3JjL2xpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDOUMsT0FBTyxFQUFDLGdCQUFnQixFQUFFLDhCQUE4QixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDMUYsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZELE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxRQUFtQjtJQUN6RCxPQUFPLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRTtRQUM3QixNQUFNLEVBQUU7WUFDSixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztTQUM5QjtRQUNELEdBQUcsRUFBSztZQUNKLE9BQU8sRUFBRSxDQUFDLDhCQUE4QixDQUFDO1NBQzVDO0tBQ0osQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsZUFBbUMsRUFBRSxlQUE0QixFQUNqRSxjQUFjLEdBQUcsSUFBSTtJQUVoRCxJQUFJLFVBQWUsQ0FBQztJQUNwQixVQUFVLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRTtRQUN4QixJQUFJLGNBQWMsRUFBRTtZQUNoQixVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUMvQixNQUFNLENBQUMsVUFBVSxHQUFHLGNBQWMsRUFBRSxDQUFDO1NBQ3hDO1FBRUQsZUFBZSxFQUFFO2FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQzthQUNWLEtBQUssQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztJQUU3QixTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ1gsSUFBSSxlQUFlLEVBQUU7WUFDakIsZUFBZSxFQUFFLENBQUM7U0FDckI7UUFFRCxJQUFJLGNBQWMsRUFBRTtZQUNoQixNQUFNLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztTQUNsQztJQUNMLENBQUMsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0FBQ2pDLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxPQUFPLEdBQUcsS0FBSztJQUNuQyxPQUFPLENBQUMsVUFBa0IsRUFBa0IsRUFBRSxDQUFDLENBQUM7UUFDNUMsT0FBTztRQUNQLEtBQUssRUFBZ0IsVUFBVTtRQUMvQixRQUFRLEVBQWEsR0FBRyxFQUFFLENBQUMsSUFBVztRQUN0QyxXQUFXLEVBQVUsR0FBRyxFQUFFLENBQUMsSUFBVztRQUN0QyxnQkFBZ0IsRUFBSyxHQUFHLEVBQUUsQ0FBQyxJQUFXO1FBQ3RDLGNBQWMsRUFBTyxHQUFHLEVBQUUsQ0FBQyxJQUFXO1FBQ3RDLG1CQUFtQixFQUFFLEdBQUcsRUFBRSxDQUFDLElBQVc7UUFDdEMsYUFBYSxFQUFRLEdBQUcsRUFBRSxDQUFDLElBQUk7S0FDbEMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1Rlc3RCZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQge0NvbW1vblZpZXdNb2R1bGUsIE5vb3BBbmltYXRpb25zQ29tbW9uVmlld01vZHVsZX0gZnJvbSAnQGRiZy1yaXNraXQvYW5ndWxhci12aWV3JztcbmltcG9ydCB7Q09NUElMRV9USU1FT1VUX0lOVEVSVkFMfSBmcm9tICcuL2Vudmlyb25tZW50JztcblxuZXhwb3J0IGZ1bmN0aW9uIGRpc2FibGVNYXRlcmlhbEFuaW1hdGlvbnMobmdNb2R1bGU6IFR5cGU8YW55Pikge1xuICAgIFRlc3RCZWQub3ZlcnJpZGVNb2R1bGUobmdNb2R1bGUsIHtcbiAgICAgICAgcmVtb3ZlOiB7XG4gICAgICAgICAgICBpbXBvcnRzOiBbQ29tbW9uVmlld01vZHVsZV1cbiAgICAgICAgfSxcbiAgICAgICAgYWRkICAgOiB7XG4gICAgICAgICAgICBpbXBvcnRzOiBbTm9vcEFuaW1hdGlvbnNDb21tb25WaWV3TW9kdWxlXVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21waWxlVGVzdEJlZChjb21waWxlRnVuY3Rpb246ICgpID0+IFByb21pc2U8YW55PiwgZGVzdHJveUZ1bmN0aW9uPzogKCkgPT4gdm9pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHViTWF0Y2hNZWRpYSA9IHRydWUpIHtcblxuICAgIGxldCBtYXRjaE1lZGlhOiBhbnk7XG4gICAgYmVmb3JlRWFjaCgoZG9uZTogRG9uZUZuKSA9PiB7XG4gICAgICAgIGlmIChzdHViTWF0Y2hNZWRpYSkge1xuICAgICAgICAgICAgbWF0Y2hNZWRpYSA9IHdpbmRvdy5tYXRjaE1lZGlhO1xuICAgICAgICAgICAgd2luZG93Lm1hdGNoTWVkaWEgPSBmYWtlTWF0Y2hNZWRpYSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29tcGlsZUZ1bmN0aW9uKClcbiAgICAgICAgICAgIC50aGVuKGRvbmUpXG4gICAgICAgICAgICAuY2F0Y2goKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgZG9uZS5mYWlsKGVycik7XG4gICAgICAgICAgICB9KTtcbiAgICB9LCBDT01QSUxFX1RJTUVPVVRfSU5URVJWQUwpO1xuXG4gICAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICAgICAgaWYgKGRlc3Ryb3lGdW5jdGlvbikge1xuICAgICAgICAgICAgZGVzdHJveUZ1bmN0aW9uKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3R1Yk1hdGNoTWVkaWEpIHtcbiAgICAgICAgICAgIHdpbmRvdy5tYXRjaE1lZGlhID0gbWF0Y2hNZWRpYTtcbiAgICAgICAgfVxuICAgIH0sIENPTVBJTEVfVElNRU9VVF9JTlRFUlZBTCk7XG59XG5cbmZ1bmN0aW9uIGZha2VNYXRjaE1lZGlhKG1hdGNoZXMgPSBmYWxzZSkge1xuICAgIHJldHVybiAobWVkaWFRdWVyeTogc3RyaW5nKTogTWVkaWFRdWVyeUxpc3QgPT4gKHtcbiAgICAgICAgbWF0Y2hlcyxcbiAgICAgICAgbWVkaWEgICAgICAgICAgICAgIDogbWVkaWFRdWVyeSxcbiAgICAgICAgb25jaGFuZ2UgICAgICAgICAgIDogKCkgPT4gbnVsbCBhcyBhbnksXG4gICAgICAgIGFkZExpc3RlbmVyICAgICAgICA6ICgpID0+IG51bGwgYXMgYW55LFxuICAgICAgICBhZGRFdmVudExpc3RlbmVyICAgOiAoKSA9PiBudWxsIGFzIGFueSxcbiAgICAgICAgcmVtb3ZlTGlzdGVuZXIgICAgIDogKCkgPT4gbnVsbCBhcyBhbnksXG4gICAgICAgIHJlbW92ZUV2ZW50TGlzdGVuZXI6ICgpID0+IG51bGwgYXMgYW55LFxuICAgICAgICBkaXNwYXRjaEV2ZW50ICAgICAgOiAoKSA9PiB0cnVlXG4gICAgfSk7XG59XG4iXX0=