FIX: clicks counter on attachments wasn't always working

This commit is contained in:
Régis Hanol
2015-02-22 20:47:18 +01:00
parent a2d9e4cf97
commit 20c9a312c7
7 changed files with 70 additions and 75 deletions

View File

@ -18,9 +18,7 @@ describe ClicksController do
context 'correct params' do
let(:url) { "http://discourse.org" }
before do
request.stubs(:remote_ip).returns('192.168.0.1')
end
before { request.stubs(:remote_ip).returns('192.168.0.1') }
context "with a made up url" do
it "doesn't redirect" do
@ -31,27 +29,15 @@ describe ClicksController do
end
context "with a query string" do
it "tries again without the query if it fails" do
TopicLinkClick.expects(:create_from).with(has_entries('url' => 'http://discourse.org/?hello=123')).returns(nil)
TopicLinkClick.expects(:create_from).with(has_entries('url' => 'http://discourse.org/')).returns(nil)
it "redirects" do
TopicLinkClick.expects(:create_from).with(has_entries('url' => 'http://discourse.org/?hello=123')).returns(url)
xhr :get, :track, url: 'http://discourse.org/?hello=123', post_id: 123
expect(response).to redirect_to(url)
end
end
context 'with a post_id' do
it 'calls create_from' do
TopicLinkClick.expects(:create_from).with('url' => url, 'post_id' => '123', 'ip' => '192.168.0.1').returns(url)
xhr :get, :track, url: url, post_id: 123
expect(response).to redirect_to(url)
end
it 'redirects to the url' do
TopicLinkClick.stubs(:create_from).returns(url)
xhr :get, :track, url: url, post_id: 123
expect(response).to redirect_to(url)
end
it 'will pass the user_id to create_from' do
it 'redirects' do
TopicLinkClick.expects(:create_from).with('url' => url, 'post_id' => '123', 'ip' => '192.168.0.1').returns(url)
xhr :get, :track, url: url, post_id: 123
expect(response).to redirect_to(url)
@ -66,7 +52,7 @@ describe ClicksController do
end
context 'with a topic_id' do
it 'calls create_from' do
it 'redirects' do
TopicLinkClick.expects(:create_from).with('url' => url, 'topic_id' => '789', 'ip' => '192.168.0.1').returns(url)
xhr :get, :track, url: url, topic_id: 789
expect(response).to redirect_to(url)