#はじめに
system spec でテストをするとき、confirmのダイアログのテスト方法が分からなかった記述方法をまとめます。
#到達点
以下の1点を達成する
・confirmのダイアログのテストの記述方法を理解する
##流れ
① confirmのダイアログのテスト
#① confirmのダイアログのテスト
投稿記事を削除するとき、ダイアログが表示され、okをクリックすると削除されるかテストを記述します。
結論から言うと、
expect(page.accept_confirm).to eq "本当に削除しますか?"
という記述をするとよいです。
spec/systems/posts_spec.rb
it "削除ボタンを押すと、削除されること" do
find(".alarm").click *投稿削除ボタンをクリック
expect do
expect(page.accept_confirm).to eq "本当に削除しますか?"
expect(page).to have_content "test_titleを削除しました" *flashメッセージ
end.to change(Post, :count).by(-1)
is_expected.not_to have_content post.title *記事一覧に削除した投稿がないことを確認
end