SCENARIO
I have a named_scope on a model called 'last_week'. All it does is it fetches the records from last week.
I want to test this and my approach is to test that the results coming back are within a certain range. I don't know if this is the right way of testing this functionality on a class method.
I can't use RSpec, Shoulda or other 3rd party client plugin. I am only allowed to use Mocha if I want.
# Model
class Article < ActiveRecord::Base
scope :last_week, :conditions => { :created_at => 1.week.ago..DateTime.now.end_of_day }
end
#Test
class ArticleTest < ActiveSupport::TestCase
test "named scope :last_week " do
last_week_range = DateTime.now.end_of_day.to_i - 1.week.ago.to_i
assert_in_delta last_week_range, Article.last_week.first.created_at - Article.last_week.last.created_at, last_week_range
end
end
Looking for feedback on what's right or wrong about this approach.