Cypress com SystemJS
Estou tentando criar alguns testes básicos para experimentar o novoCipreste biblioteca. No meu teste eu tenhocy.visit('http://mywebsite.com');
que está carregando um aplicativo AngularJS que usa SystemJS.
Se eu entendo o Cypress corretamente, não preciso fazer mais nada e isso garantirá que a página seja carregada antes de executar qualquer outra coisa. No entanto, isso não parece estar funcionando porque a página está carregada, mas o SystemJS ainda está carregando os módulos.
Como posso fazer com que o Cypress aguarde o carregamento de todos os módulos SystemJS antes de executar mais testes sem usarcy.wait(5000)
?
EDITAR
Graças a Dwelle, esta é a solução que funciona para mim. Envolvo o System.import inicial em uma promessa que é resolvida depois que o aplicativo AngularJS é inicializado.
window.APP_READY = new Promise(function(resolve, reject) {
System.import('app').then(function(app) {
angular.element(document).ready(function() {
angular.bootstrap(document, ['app']);
resolve();
});
});
});
E então no teste
cy.visit('http://mywebsite.com').its('APP_READY');