2013-12-11 47 views
0

我有一個名爲Url的模型,我在根頁面中有一個計數器,我使用推送器更新計數器值(使用javascript(實際上是coffescript))。rspec使用JavaScript和Pusher測試值更新

在我的根頁我有訂閱香奈兒和等待消息一個javascript:

pusher = new Pusher(gon.pusher_key) 
channel = pusher.subscribe("url_counter") 
channel.bind "update_url_counter", (data) -> 
    $(counter).text(data.urlsCount) 

後來,當我創建或刪除URL我發送郵件與計數器數值到推動器:

Pusher.trigger("url_counter", "update_url_counter", {urlsCount: Url.all.count}) 

在包含計數器視圖中的對象是這樣的:

Total urls: <span id="url_counter"><%[email protected]_count%></span> 

事情工作正常。但我不知道如何測試它。

我希望信息足夠好,有人可以幫助我。

在此先感謝。

回答

0

這是我測試它的方式。

一方面我確信當創建一個URL推正確調用

url = "http://test.com" 

expect(Pusher).to receive(:trigger).with("urlmini", "update_url_counter", {urlsCount: 1}).and_return {} 

visit new_url_path 
fill_in "url_text", with: original 
click_button "submit_url" 

再進行試驗,若我的JavaScript正常工作我叫推

visit root_path 
within "#url_counter" do 
    expect(page).to have_content "0" 
end 
fake_counter = 10 
Pusher.trigger("urlmini", "update_url_counter", {urlsCount: fake_counter}) 
within "#url_counter" do 
    expect(page).to have_content fake_counter 
end