2016-02-22 62 views
0

我的應用程序有一個3列的儀表板。 所有三列表示該對象的不同狀態(模型的字段)。Rspec,測試AJAX,計數列表項

在第一列中,它是'掛起'的,當您批准它時,它會轉到「已接受」列。

我首先創建3個對象,每列1個。

然後,我希望能夠按批准的第一列和測試的按鈕,如果把它搬到列2

這是目前的代碼結構:

<div class="col-xs-3 pending-candidates"> 
    <div class="collection-menu"> 
    <h1>Candidates</h1> 
    <div class="icon-menu"></div> 
    <i class="material-icons">done</i> 
</div> 

<ul id="applied-desktop-dashboard-ajax"> 
    <li class="collection-item applied-candidate" id="pending_8"> <=== NEED TO COUNT THIS 
    <div class="first-content"> 
     <div class="candidate-details"> 
     <a href="/employees/8"> 
      <h1>Patrick M.</h1> 
     </a>  
     </div> 
    </div> 
    <div class="second-content" style="display: none;"> 
     <a data-remote="true" rel="nofollow" data-method="patch" href="/matchings/216?state=denied"> 
     <i class="material-icons close-deny">close</i> 
     </a>  
     <a data-remote="true" rel="nofollow" data-method="patch" href="/matchings/216?state=accepted"> 
     <i class="material-icons close-accept">done</i> 
     </a> 
    </div> 
    </li> 
</ul> 

我嘗試到訪問它像以下:

expect(page).to have_selector('applied-desktop-dashboard-ajax li', count: 1) 
expect(page).to have_css('applied-desktop-dashboard-ajax li', count: 1) 

並返回以下錯誤消息:

expected to find css "applied-desktop-dashboard-ajax li" 1 time 
but there were no matches 

當我只想檢查它是否具有ul(即使它沒有加載對象時,它總是存在)也是如此。

任何人都有一個想法如何計算列表項?

回答

1

我想你忘記了你選擇的ID前綴(#),它應該是:

expect(page).to have_css('#applied-desktop-dashboard-ajax li', count: 1)