Я хочу протестировать простой delete jquery/ajax, используя capybara-webkit.Capybara Webkit, найдите определенный элемент li, нажмите кнопку «Удалить» и проверьте, отсутствует ли какой-либо элемент li.
Пользователь нажимает кнопку «Удалить», в пределах <li>
, после чего элемент должен исчезнуть.
Мой HTML выглядит следующим образом:
<div class="artist-songs">
<h3 tabindex="-1" id="song_h" class="song_h">Songs:</h3>
<ol id="song-list">
<li class="song">
<span>The Plug</span>
<span>
-
2000
-
</span>
<span>Downtempo</span>
<button name="button" type="submit" data-artist-id="5" data-song-id="14" class="delete del_song">Delete</button>
</li>
я решил генерировать тестовые модели жгутов так:
feature 'Testing song methods', js: true do
let(:test_artist) { create :artist, name: 'Band' }
let!(:song1) { create :song, title: 'Song 1', year: 1987, genre: 'Hip Hop', artist: test_artist }
let!(:song2) { create :song, title: 'Song 2', artist: test_artist }
let!(:song3) { create :song, title: 'Song 3', artist: test_artist }
let!(:song4) { create :song, title: 'Song 4', artist: test_artist }
scenario 'Delets first song' do
visit artist_path(test_artist.id)
end
end
я получаю основную идею, как тест простые действия, но я не знаю, как напишите тест, поэтому я уверен, что правильный элемент <li>
удален не случайно.
Так, например, «Песня 1» удаляется только.