web-dev-qa-db-fra.com

Jest non implémenté Window.alert ()

j'ai passé un test écrit pour mon API avec Jest. J'ai ajouté une fonction qui appelle mon API dans le fichier de test ci-dessous:

import AuthManager from "../Client/Modules/Auth/AuthManager";

et utilisez-le comme ci-dessous:

test("login api resolves true", () => {
  return expect(AuthManager.login("test", "test")).resolves.toMatchObject(
    expect.objectContaining({
      accessToken: expect.any(String),
      email: expect.any(String),
      expiresIn: expect.any(Number),
      refreshToken: expect.any(String),
      userFullName: expect.any(String),
      userId: expect.any(Number)
    })
  );
});

mon test passe mais j'ai une erreur comme ci-dessous:

Erreur: non implémentée: fenêtre.alert

comment résoudre ce problème ?

31
Mahyar Fard

J'ai face à window.confirm C'est ma solution pour angular fw.

let spyOnWindow: jasmine.Spy;

beforeEach((() => {
    TestBed.configureTestingModule({
      declarations: [...],
      imports: [...],
      providers: [...]
    }).compileComponents().then(() => {
      ...
      spyOnWindow = spyOn(window,'confirm');
      ...
    });

Un cas de test

it('showModal testing function with delete an event', () => {
spyOnWindow.and.returnValue(true);
...
}

it('showModal testing function with delete an event', () => {
spyOnWindow.and.returnValue(false);
...
}
0
Giang Nguyen