I Work on an application using ionic and angular, and I faced this problem with unit test : Timeout - Async callback was not invoked within 5000ms (set by jasmine.DEFAULT_TIMEOUT_INTERVAL)
auth.service.ts
login(email: string, password: string) {
return this.http
  .post<AuthResponseData>(
    `https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword?key=${
      environment.firebaseAPIKey
    }`,
    // tslint:disable-next-line: object-literal-shorthand
    { email: email, password: password }
  ).pipe(tap(this.setUserData.bind(this))); }
auth.service.spec.ts
import { TestBed } from '@angular/core/testing';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { AuthService } from './auth.service';
let server: AuthService;
describe('AuthService', () => {
beforeEach(() => TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [AuthService]
}));
beforeEach(() =>  server = TestBed.get(AuthService));
it('fail ', done => {
const e = 'INVALID_PASSWORD';
server.login('s@S.com', '987456').subscribe(
    good =>  {
    },
    errRes => {
       expect(errRes.error.error.message).toEqual(e);
       done();
    },
   );
   }, );
   });
 
    