2017-06-21 1 views
0

J'ai ci-dessous la fonction et je l'utilise dans l'attente.Chai avec des promesses n'attend pas pour les promesses précédentes à résoudre

function Create() { 
    var that = this; 
    // Goto home page of App. 
    // Async call 
    that.homePage(); 
    // Async call 
    Utils.click(projectsSelectors.project_create, false, that.browser); 
    // Async call 
    Utils.elementIsVisible(stock_avatar, that.browser); 
    // Async call 
    Utils.fill(name_input, that.name, that.browser); 
    // Async call 
    stockAvatar.call(that); 
    // Async call 
    Utils.click(create_save, false, that.browser); 
    // Verify if it's created. 
    // Async call 
    return that.$is_Created(); 
} 

Mais quand je l'utilise comme ci-dessous

expect(Create()).to.eventually.equal(true); 

L'attente est vient de passer sans rien faire. La méthode Create ci-dessus contient plusieurs appels asynchrones.

J'ai même enchaîné tous les appels à l'intérieur de la méthode Create, mais tout de même, l'attente ne fait que passer sans rien faire à l'écran.

Répondre

0

Votre méthode d'essai doit return the promise

it("should do something", function() 
{ 
    return expect(Create()).to.eventually.equal(true); 
}