I have an interceptor which checks if on headers there is a property 'skip'. I'm trying to unit test this. I created a HttpRequest mock for this, but it tells me that get method is undefined (req.headers.get) when I'm trying to test. How can I do it? .ts:
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
if (req.headers.get("skip") === "true") {
return next.handle(req.clone({headers: req.headers.delete('skip')}));
}
return next.handle(req);
}
.spec.ts:
describe(myInterceptor, () => {
let interceptor: myInterceptor;
const httpRequestMock = mock<HttpRequest<any>>();
beforeEach(() => {
interceptor = new myInterceptor();
});
test('should intercept HTTP calls', () => {
const httpHandlerMock = {
handle: jest.fn(() => of(new HttpResponse({status: 200})))
};
interceptor.intercept(httpRequestMock, httpHandlerMock);
expect(...);
});