| report_method_spec.rb - reportable - Fork of reportable required by WarVox, fro… | |
| git clone git://jay.scot/reportable | |
| Log | |
| Files | |
| Refs | |
| README | |
| --- | |
| report_method_spec.rb (1987B) | |
| --- | |
| 1 require File.join(File.dirname(File.dirname(File.expand_path(__FILE__)))… | |
| 2 | |
| 3 describe Saulabs::Reportable do | |
| 4 | |
| 5 ActiveRecord::Base.class_eval do | |
| 6 include Saulabs::Reportable::RailsAdapter | |
| 7 end | |
| 8 | |
| 9 class User < ActiveRecord::Base | |
| 10 reportable :registrations, :limit => 10 | |
| 11 end | |
| 12 | |
| 13 class SpecialUser < User; end | |
| 14 | |
| 15 before(:all) do | |
| 16 User.create!(:login => 'test 1', :created_at => Time.now - 1.days, … | |
| 17 User.create!(:login => 'test 2', :created_at => Time.now - 2.days, :… | |
| 18 end | |
| 19 | |
| 20 it 'should return a Saulabs::Reportable::ResultSet' do | |
| 21 User.registrations_report.should be_instance_of(Saulabs::Reportable:… | |
| 22 end | |
| 23 | |
| 24 it 'should return a result set that stores the name of the model the r… | |
| 25 User.registrations_report.model_name.should == User.name | |
| 26 end | |
| 27 | |
| 28 it 'should return a result set that stores the name of the report that… | |
| 29 User.registrations_report.report_name.should == 'registrations' | |
| 30 end | |
| 31 | |
| 32 describe 'for inherited models' do | |
| 33 | |
| 34 before(:all) do | |
| 35 SpecialUser.create!(:login => 'test 3', :created_at => Time.now - … | |
| 36 end | |
| 37 | |
| 38 it 'should return a result set that stores the model the report was … | |
| 39 SpecialUser.registrations_report.model_name.should == SpecialUser.… | |
| 40 end | |
| 41 | |
| 42 it 'should include all data when invoked on the base model class' do | |
| 43 result = User.registrations_report.to_a | |
| 44 | |
| 45 result[9][1].should == 1.0 | |
| 46 result[8][1].should == 2.0 | |
| 47 end | |
| 48 | |
| 49 it 'should include only data for instances of the inherited model wh… | |
| 50 result = SpecialUser.registrations_report.to_a | |
| 51 | |
| 52 result[9][1].should == 0.0 | |
| 53 result[8][1].should == 1.0 | |
| 54 end | |
| 55 | |
| 56 after(:all) do | |
| 57 SpecialUser.destroy_all | |
| 58 end | |
| 59 | |
| 60 end | |
| 61 | |
| 62 after do | |
| 63 Saulabs::Reportable::ReportCache.destroy_all | |
| 64 end | |
| 65 | |
| 66 after(:all) do | |
| 67 User.destroy_all | |
| 68 end | |
| 69 | |
| 70 end | |
| 71 |