У меня проблема с выполнением модульного тестирования перехватчика, потому что он говорит мне, что httpReq.request.headers.get ('авторизация'). ToBeTruthy () должно быть tobefalsy (). Даже я даю токенэто и затем присоединение этого токена с заголовком авторизации, как показано в следующем коде, но это дает мне ошибку.Это сервисный код перехватчика:
`
export class TokenInterceptorService implements HttpInterceptor {
constructor(private auth: CoreService) {
}
intercept(req: HttpRequest<any>, next: HttpHandler) {
if (this.auth.getToken()) {
req = req.clone({
setHeaders: {
authorization: `Token ${this.auth.getToken()}`
}
});
}
return next.handle(req);
}
}
`
Я пробовал разные подходы, чтобы исправить это, и даже если я отладил этот код, токен приходит, но когдамы ожидаем, что это будет правдой, это говорит мне, что токен имеет значение null
это код спецификации файла
`
it('should add a Authorization token to the authorization header', () => {
coreService.setToken('this is my dummy token');
const token = coreService.getToken();
const spy = coreSpy.getToken();
const someData = { data: 'someData ' };
http.get('localhost:3000/anonymous/user').subscribe((data) => {
expect(data).toEqual(someData);
});
const httpReq = httpTestingController.expectOne('localhost:3000/anonymous/user');
expect(httpReq.request.method).toBe('GET');
expect(httpReq.request.headers.get('authorization')).toBeTruthy();
expect(httpReq.request.headers.get('authorization')).toBe(`Token ${token}`);
httpReq.flush(someData);
httpTestingController.verify();
});
`
ожидаемый результатэто то, что это должно сказать мне, что это правда, что мы получаем разрешение.