2012-02-28 23 views
2

私はcapybaraとrspecの下にいます。これはオブジェクトの破棄リンクをテストする最良の方法ですか? 私はcapybaraとrspecで破壊操作をテストしてください

<a href="/categories/1" data-confirm="Are you sure?" data-method="delete" rel="nofollow">Destroy</a> 

このリンクをクリックする必要がありますが、私はでそれを選択することはできませんよ。

it "should destroy a category" do 
    visit categories_path 
    find(:xpath, '//link[@href="/categories/1"]').click 
    # how to handle javascript pop up for confirmation? 
end 

任意のヒント? ありがとうございました!

答えて

13
expect { click_link 'Destroy' }.to change(Category, :count).by(-1) 
4
it "should destroy a category" do 
expect { click_link('Destroy') }.to change(Category, :count).by(-1) 
end 
1

これは、要求仕様であるかのように、あなたがより密接にユーザーをシミュレートすることができますになりますので:

it "should destroy a category" do 
    visit categories_path 
    find(:xpath, '//link[@href="/categories/1"]').click 
    sleep 1.seconds 
    alert = page.driver.browser.switch_to.alert 
    expect { alert.accept }.to change(Category, :count).by(-1) 
end 

乾杯!

関連する問題