61 lines
1.5 KiB
Ruby
61 lines
1.5 KiB
Ruby
|
require 'spec_helper'
|
||
|
|
||
|
describe WidgetsController do
|
||
|
|
||
|
before(:each) do
|
||
|
@widget = Widget.find(1)
|
||
|
Widget.stub(:find).and_return(@widget)
|
||
|
end
|
||
|
|
||
|
it "should log impression at the per action level" do
|
||
|
get "show", :id=> 1
|
||
|
Impression.all.size.should eq 12
|
||
|
get "index"
|
||
|
Impression.all.size.should eq 13
|
||
|
get "new"
|
||
|
Impression.all.size.should eq 13
|
||
|
end
|
||
|
|
||
|
it "should not log impression when user-agent is in wildcard list" do
|
||
|
request.stub!(:user_agent).and_return('somebot')
|
||
|
get "show", :id=> 1
|
||
|
Impression.all.size.should eq 11
|
||
|
end
|
||
|
|
||
|
it "should not log impression when user-agent is in the bot list" do
|
||
|
request.stub!(:user_agent).and_return('Acoon Robot v1.50.001')
|
||
|
get "show", :id=> 1
|
||
|
Impression.all.size.should eq 11
|
||
|
end
|
||
|
|
||
|
context "impressionist unique options" do
|
||
|
|
||
|
it "should log unique impressions at the per action level" do
|
||
|
get "show", :id=> 1
|
||
|
Impression.all.size.should eq 12
|
||
|
get "show", :id=> 2
|
||
|
Impression.all.size.should eq 13
|
||
|
get "show", :id => 2
|
||
|
Impression.all.size.should eq 13
|
||
|
get "index"
|
||
|
Impression.all.size.should eq 14
|
||
|
end
|
||
|
|
||
|
it "should log unique impressions only once per id" do
|
||
|
get "show", :id=> 1
|
||
|
Impression.all.size.should eq 12
|
||
|
|
||
|
get "show", :id=> 2
|
||
|
Impression.all.size.should eq 13
|
||
|
|
||
|
get "show", :id => 2
|
||
|
Impression.all.size.should eq 13
|
||
|
|
||
|
get "index"
|
||
|
Impression.all.size.should eq 14
|
||
|
end
|
||
|
|
||
|
end
|
||
|
|
||
|
end
|