2015-03-19 20 views
0

我想檢查在表的所有行中是否有大於500的數字的0個實例。水豚檢查是否沒有選擇器的文字數大於500

表看起來是這樣的:

<% @trips.each do |trip| %> 
     <tr class="trip-row" data-categories= "<%= @categories.map(&:name).join(":") %>"> 
     <td id="ranking"><%= @trips.index(trip) + 1 %></td> 
     <td id="trip-title"> <%= trip.title %> </td> 
     <td><%= trip.departure_city %></td> 
     <td><%= trip.arrival_city %></td> 
     <td><%= trip.departure_airline %></td> 
     <td><%= trip.short_description %></td> 
     <td><%= trip.departure_date.strftime("%b %d, %Y, %I:%M") %></td> 
     <td><%= trip.return_date.strftime("%b %d, %Y, %I:%M") %></td> 
     <td><%= trip.price %></td> 
     <td><%= link_to "Details", real_trip_path(trip, info: { departure_date: trip.departure_date, return_date: trip.return_date, price: trip.price }), class: "btn btn-info" %></td> 
     </tr> 
<% end %> 

我可以這樣寫:

within all(".trip-row") do 
    refute page has.content? #number greater than 500? 
end 

回答

0

可以在每個細胞,而不是逐行評估值。

page.all(.'trip-row td').each do |c| 
    #evaluate here 
end 

您可能需要使用正則表達式來拉動號碼的開出,從每一個單元格,然後從那裏使用RSpec的預期評估。

+0

是應該斷言page.has_content的評估? – Jwan622 2015-03-19 14:39:44

+0

您可以嘗試: c.text.to_i.應該是<500 – Phil 2015-03-19 16:46:39

+0

再次,您可能需要按摩您從每個單元格獲得的一些數據才能正確評估。希望這可以幫助! – Phil 2015-03-19 16:52:53