import {SafePipe} from "./safe.pipe"; import {DomSanitizer} from "@angular/platform-browser"; import {getTestBed, TestBed} from "@angular/core/testing"; describe('Safe pipe', () => { let injector; let pipe: SafePipe; let sanitizer: DomSanitizer; beforeAll(done => (async () => { TestBed.configureTestingModule({ providers: [SafePipe] }); await TestBed.compileComponents(); injector = getTestBed(); sanitizer = injector.get(DomSanitizer); pipe = injector.get(SafePipe); })().then(done).catch(done.fail)); test('safe pipe should return Safe object', () => { let options = [ { value: 'value', type: 'html', func: 'bypassSecurityTrustHtml' }, { value: 'value', type: 'style', func: 'bypassSecurityTrustStyle' }, { value: 'value', type: 'script', func: 'bypassSecurityTrustScript' }, { value: 'value', type: 'url', func: 'bypassSecurityTrustUrl' }, { value: 'value', type: 'resourceUrl', func: 'bypassSecurityTrustResourceUrl' } ]; for (let option of options) { jest.spyOn(sanitizer, option.func); pipe.transform(option.value, option.type); expect(sanitizer[option.func]).toHaveBeenCalledWith(option.value); } }); });