import { CommonModule } from '@angular/common';
import { PipeTransform } from '@angular/core';
import { TestBed } from '@angular/core/testing';
import { SafeHtml } from '@angular/platform-browser';
import { SafeHtmlPipe } from './safeHTML.pipe';
describe('SafeHTMLPipe', async () => {
let sanitizerSpy: any;
let safeHtmlPipe: PipeTransform;
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [SafeHtmlPipe],
imports: [CommonModule],
}).compileComponents();
});
beforeEach(() => {
sanitizerSpy = jasmine.createSpyObj('DomSanitizer', [
'bypassSecurityTrustHtml',
]);
safeHtmlPipe = new SafeHtmlPipe(sanitizerSpy);
});
it('should transform html to the SafeHtml', () => {
const html = 'foo';
const sanitized = 'sanitized';
sanitizerSpy.bypassSecurityTrustHtml.and.returnValue(sanitized);
const safeHtml: SafeHtml = safeHtmlPipe.transform(html);
expect(safeHtml).toEqual(sanitized);
expect(sanitizerSpy.bypassSecurityTrustHtml).toHaveBeenCalledTimes(1);
expect(sanitizerSpy.bypassSecurityTrustHtml).toHaveBeenCalledWith(html);
});
});