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 ?
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);
...
}