Test a Pipe with dependencies. https://medium.com/google-developer-experts/angular-2-testing-guide-a485b6cb1ef0#.4rso4xrje
import { TestBed, inject } from '@angular/core/testing';
import { ConvertStatusPipe } from './convert-status.pipe';
import { ConversationStatus } from '@remedy/models';
import { LoggingService } from '../core/services/logging.service';
import { LoggingServiceMock } from './../core/services/logging.service.mock';
describe(`ConvertStatusPipe`, () => {
let pipe;
beforeEach(() => TestBed.configureTestingModule({
providers: [
ConvertStatusPipe,
{
provide: LoggingService,
useClass: LoggingServiceMock,
},
],
}));
beforeEach(inject([ConvertStatusPipe], p => {
pipe = p;
}));
it(`transforms '0' to 'new'`, () => {
const actual = pipe.transform(0, ConversationStatus);
const expected = ConversationStatus[0];
expect(actual).toBe(expected);
});
it(`should log an error if the output is incorrect`, () => {
pipe.transform('closed');
expect(pipe.loggingService.warn).toHaveBeenCalled();
});
});