Adds named scopes to replace custom finders.

* Adds watched_by class method in ActsAsWatchable
* Adds Issue#recently_updated, Issue#with_limit and Issue#on_active_project

  #2482

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3557 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Eric Davis
2010-03-10 05:10:43 +00:00
parent cfa1f0c231
commit 22c1e2b8cf
4 changed files with 34 additions and 16 deletions
+20
View File
@@ -656,4 +656,24 @@ class IssueTest < ActiveSupport::TestCase
assert_equal 2, groups.size
assert_equal 5, groups.inject(0) {|sum, group| sum + group['total'].to_i}
end
def test_recently_updated_with_limit_scopes
#should return the last updated issue
assert_equal 1, Issue.recently_updated.with_limit(1).length
assert_equal Issue.find(:first, :order => "updated_on DESC"), Issue.recently_updated.with_limit(1).first
end
def test_on_active_projects_scope
assert Project.find(2).archive
before = Issue.on_active_project.length
# test inclusion to results
issue = Issue.generate_for_project!(Project.find(1), :tracker => Project.find(2).trackers.first)
assert_equal before + 1, Issue.on_active_project.length
# Move to an archived project
issue.project = Project.find(2)
assert issue.save
assert_equal before, Issue.on_active_project.length
end
end