2016-01-03 23 views
1

我可以D.R.Y這個代碼?如果在用戶的個人資料中顯示標識invite-user,則用戶可以點擊以請求玩遊戲,否則將選擇新的隨機用戶,直到在用戶的個人資料中顯示ID invite-user量角器 - 我想寫如果ELSE語句DRYer,如果可能

browser.get("/index").then(function() { 
    element.all(by.css('game-player')).get(randomUser).click(); 
    browser.sleep(sleep); 
element(by.id('invite-user')).isDisplayed().then(function(clickUser) { 
    if (clickUser) { 
    element(by.id('invite-user')).click(); 
    element(by.id('role')).sendKeys('Player'); 
    button.click(); 
    browser.sleep(sleep); 
    expect(element(by.id('pending-admin-approval')).first().isDisplayed()).toBe(true); 

    } else { 
    browser.get("/index").then(function() { 
     element.all(by.css('game-player')).get(randomUser).click(); 
     browser.sleep(sleep); 
     element(by.id('invite-user')).click(); 
     element(by.id('role')).sendKeys('Player'); 
     button.click(); 
     browser.sleep(sleep); 
     expect(element(by.id('pending-admin-approval')).first().isDisplayed()).toBe(true); 

    }); 
    } 
}); 

});

+1

把公共代碼的功能?我不清楚問題是什麼。此外,codereview是比SO更好的地方。 –

+0

可以請你接受答案,如果它適合你的需要嗎?謝謝! – Iamisti

回答

2
browser.get("/index").then(function() { 
    element.all(by.css('game-player')).get(randomUser).click(); 
    browser.sleep(sleep); 
    element(by.id('invite-user')).isDisplayed().then(function(clickUser) { 
     if (clickUser) { 
      inviteUser(); 

     } else { 
      browser.get("/index").then(function() { 
       element.all(by.css('game-player')).get(randomUser).click(); 
       browser.sleep(sleep); 

       inviteUser(); 
      }); 
     } 
    }); 

    function inviteUser(){ 
     element(by.id('invite-user')).click(); 
     element(by.id('role')).sendKeys('Player'); 
     button.click(); 
     browser.sleep(sleep); 
     expect(element(by.id('pending-admin-approval')).first().isDisplayed()).toBe(true); 
    } 
}); 
+0

lamisti我拉開了另一個項目。代碼有效!謝謝!! –