Я работаю над приложением Electron, которое обрабатывает некоторые логи c в модальном windows. Эти windows ждут разрешения асин c действий, а затем самозакрытия. Сейчас я пытаюсь проверить это поведение, используя Spectron и Jest: кажется, что нет методов, чтобы поймать закрытие окна и затем перейти к другим тестам.
В настоящее время мой код
it('doing its job', async () => {
// awaits and expects that aren't related
await app.client.click('button[data-role="close"]');
await new Promise(r => setTimeout(r, 1000));
expect(await client.getWindowCount()).toBe(1);
});
Это работает, но я нахожу это чрезвычайно анти-паттерном. Интересно, есть ли способы сделать что-то вроде
it('doing its job', async () => {
// awaits and expects that aren't related
await app.client.click('button[data-role="close"]');
await app.client.waitUntilWindowCloses(windowIndex);
expect(await client.getWindowCount()).toBe(1);
});
Любая помощь приветствуется.