У меня есть пользовательская таблица ruby на рельсах 5.1, и она выглядит так:
<table id="users" class="table table-bordered">
<thead>
<tr>
<th></th>
<th>ID</th>
<th>Nombre</th>
<th>Apellidos</th>
<th>Correo electrónico</th>
<th colspan="2">Registro</th>
</tr>
</thead>
<tbody>
<% @users.each do |user| %>
<tr>
<td>i</td>
<td><%= user.id %></td>
<td><%= user.name %></td>
<td><%= user.last_name %></td>
<td><%= user.email %></td>
<td><%= user.created_at.hour %>:<%= user.created_at.min%> hrs.</td>
<td><%= user.created_at.to_date %></td>
</tr>
<% end %>
</tbody>
</table>
Ситуация такова, что я работаю в тестировании с capybara, rspec & factorybot и мне нужно проверить, что я создаю 10 пользователей и добавляю их в таблицу, после чего я буду ожидать xpath для моего теста, который ниже:
scenario 'admin view users' do
visit admin_users_path
users = create_list(:user, 10)
expect(page).to have_xpath('//*[@id="users"]/tbody/tr/td[5]', text: "#{users.first.email}" )
end
Проблема в том, что я получаю ошибку для ожидаемого , и моя гипотеза состоит в том, что xpath верен, но есть что-то, что не может написать или проверить пользователей внутри таблицы.
Мой вопрос:
Как мне запустить тест, когда я создаю 10 пользователей (например), а затем добавить его в таблицу, чтобы послесловия правильно ожидали xpath?