From e6804db53297868da972db1b7153ec94a7c07c97 Mon Sep 17 00:00:00 2001 From: Daniela Soares Feitosa Date: Wed, 24 Sep 2008 20:19:32 -0300 Subject: [PATCH] ActionItem737: ordering articles by updated_at instead of created_at --- app/models/article.rb | 2 +- test/unit/article_test.rb | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/models/article.rb b/app/models/article.rb index 6a1d038..14228bf 100644 --- a/app/models/article.rb +++ b/app/models/article.rb @@ -86,7 +86,7 @@ class Article < ActiveRecord::Base 'profiles.public_profile' => true }, :include => 'profile', - :order => 'articles.created_at desc, articles.id desc' + :order => 'articles.updated_at desc, articles.id desc' } if ( scoped_methods && scoped_methods.last && scoped_methods.last[:find] && diff --git a/test/unit/article_test.rb b/test/unit/article_test.rb index 3807680..9e73ec1 100644 --- a/test/unit/article_test.rb +++ b/test/unit/article_test.rb @@ -1,4 +1,5 @@ require File.dirname(__FILE__) + '/../test_helper' +require 'mocha' class ArticleTest < Test::Unit::TestCase @@ -169,6 +170,22 @@ class ArticleTest < Test::Unit::TestCase assert_equal [ ], Article.recent(nil) end + should 'order recent articles by updated_at' do + p = create_user('usr1').person + Article.destroy_all + + first = p.articles.build(:name => 'first', :public_article => true); first.save! + second = p.articles.build(:name => 'second', :public_article => true, :updated_at => first.updated_at + 1.second); second.save! + + assert_equal [ second, first ], Article.recent(2) + + Article.record_timestamps = false + first.update_attributes!(:updated_at => second.updated_at + 1.second) + Article.record_timestamps = true + + assert_equal [ first, second ], Article.recent(2) + end + should 'require that subclasses define description' do assert_raise NotImplementedError do Article.description -- libgit2 0.21.2