ich Capybara verwende diesen Code zu testen, die in meinem Kommentar Modell befindet (5 Minuten sind konventionell):Link funktioniert nicht versteckt nach einiger Zeit Capybara
def editable?
self.created_at < (Time.now - 5.minute)
end
Die Ansicht des Link:
- unless comment.editable?
= link_to 'Edit', edit_category_theme_comment_path(@category, @theme, comment)
Also nach 5 Minuten muss der Link zum Bearbeiten von der Seite ausgeblendet werden (aber wir müssen die Seite aktualisieren). Hier ist mein Code in RSpec für Kommentare Erstellen und Testen der Link-hide-Funktionalität:
def create_comment(options={})
options[:content] ||= 'I am a comment'
visit category_theme_path(category, theme)
within '.comment-form' do
fill_in 'Content', with: options[:content]
click_button 'Submit'
end
end
context 'Comment has content' do
before(:each) { create_comment }
it 'hides the edit symbol due 5 minutes after comment was created' do
using_wait_time 400 do
visit category_theme_path(category, theme)
save_and_open_page
expect(page).to have_no_css('.comment-edit')
end
end
end
Aber ich habe: Failure/Error: expect(page).to have_no_css('.comment-edit')expected #has_no_css?(".comment-edit") to return true, got false
Ich versuche auch page.reload!
zu verwenden, expect(page).to have_no_css('.comment-edit', wait: 400)
und andere damit verbundene Personal, aber Capybara don‘ Ich möchte warten. Vielleicht nutze ich using_wait_time
für einen falschen Ort, wenn das - wie kann ich das testen?
Nachdem für Ihren Test 5 Minuten warten klingt für mich nicht akzeptabel sein sollte. Können Sie dieses Verhalten auf andere Weise testen? –
Immer noch verloren ... – k1r8r0wn
Können Sie Ihre 'create_comment' Methode zeigen? –