discourse/spec/requests/store_incoming_spec.rb

46 lines
1.1 KiB
Ruby

require "spec_helper"
describe "Stores incoming links" do
before do
TopicUser.stubs(:track_visit!)
end
let :topic do
Fabricate(:post).topic
end
it "doesn't store an incoming link when there's no referer" do
lambda {
get topic.relative_url
}.should_not change(IncomingLink, :count)
end
it "doesn't raise an error on a very long link" do
lambda { get topic.relative_url, nil, {'HTTP_REFERER' => "http://#{'a' * 2000}.com"} }.should_not raise_error
end
it "stores an incoming link when there is an off-site referer" do
lambda {
get topic.relative_url, nil, {'HTTP_REFERER' => "http://google.com/search"}
}.should change(IncomingLink, :count).by(1)
end
describe 'after inserting an incoming link' do
before do
get topic.relative_url + "/1", nil, {'HTTP_REFERER' => "http://google.com/search"}
@last_link = IncomingLink.last
end
it 'should have the proper topic_id' do
@last_link.topic_id.should == topic.id
end
it 'should have the proper topic_id' do
@last_link.post_number.should == 1
end
end
end