require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') require 'mitamirri' describe "IntersiteTrafficReport" do before :all do @args = { :site => 'www.foo.com', :time_period => 'past month', :visit_kind => 'search' } TrackableSession.stubs(:search).returns([]) @report = Mitamirri::IntersiteTrafficReport.new(@args) end it 'initializes with arguments' do @report.site.should == @args[:site] @report.time_period.should == @args[:time_period] @report.visit_kind.should == @args[:visit_kind] end it 'calculates its dates' do @report.dates.should == [ (Time.zone.now - 4.weeks).end_of_week, (Time.zone.now - 3.weeks).end_of_week, (Time.zone.now - 2.weeks).end_of_week, (Time.zone.now - 1.weeks).end_of_week, (Time.zone.now).end_of_week, ] end it 'creates a Destination object from arguments' do _stat = Mitamirri::IntersiteTrafficReport::Destination.new(:site => 'www.foo.com', :clickthroughs => 3) _stat.clickthroughs.should == 3 _stat.site.should == 'www.foo.com' end it 'creates a Visit object from arguments' do _stat = Mitamirri::IntersiteTrafficReport::Visit.new(:site => 'www.foo.com', :stats => []) _stat.site.should == 'www.foo.com' _stat.stats.should == [] end it 'creates a VisitStat object from arguments' do _stat = Mitamirri::IntersiteTrafficReport::VisitStat.new(:date => Time.zone.now.beginning_of_month, :clickthroughs => 3) _stat.clickthroughs.should == 3 _stat.date.should == Time.zone.now.beginning_of_month end end