Модульный тест: подписка наблюдаемого возврата не определена - PullRequest
0 голосов
/ 16 апреля 2020

Я работаю над приложением, использующим ioni c и angular, и я столкнулся с этой проблемой с возвращением модульного теста undefined, но при запуске приложения все хорошо. мой код:

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.spe c .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';
let result;
server.login('s@S.com', '987456').subscribe(
    good =>  {
    },
    errRes => {
      result = errRes.error.error.message;
    }
);
expect(result).toEqual(e);
done();
});
});

карма

Я надеюсь помочь мне = (

1 Ответ

0 голосов
/ 16 апреля 2020

пожалуйста, включите ваш код в вопрос, а не снимки экрана, чтобы люди, пытающиеся помочь, не должны были транскрибировать ваш код ...

, но переместите тестовый код ВНУТРИ блока ошибок, чтобы он выполнялся после наблюдаемые выбросы:

errRes => {
   expect(errRes.error.error.message).toEqual(e);
   done();
}
...