summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/principal.rb2
-rw-r--r--test/unit/principal_test.rb8
2 files changed, 9 insertions, 1 deletions
diff --git a/app/models/principal.rb b/app/models/principal.rb
index 5acb1d45d..d7814f595 100644
--- a/app/models/principal.rb
+++ b/app/models/principal.rb
@@ -24,7 +24,7 @@ class Principal < ActiveRecord::Base
has_many :issue_categories, :foreign_key => 'assigned_to_id', :dependent => :nullify
# Groups and active users
- named_scope :active, :conditions => "#{Principal.table_name}.type='Group' OR (#{Principal.table_name}.type='User' AND #{Principal.table_name}.status = 1)"
+ named_scope :active, :conditions => "#{Principal.table_name}.status = 1"
named_scope :like, lambda {|q|
s = "%#{q.to_s.strip.downcase}%"
diff --git a/test/unit/principal_test.rb b/test/unit/principal_test.rb
index 5fd10d8ed..a3230f1c6 100644
--- a/test/unit/principal_test.rb
+++ b/test/unit/principal_test.rb
@@ -19,6 +19,14 @@ require File.expand_path('../../test_helper', __FILE__)
class PrincipalTest < ActiveSupport::TestCase
+ def test_active_scope_should_return_groups_and_active_users
+ result = Principal.active.all
+ assert_include Group.first, result
+ assert_not_nil result.detect {|p| p.is_a?(User)}
+ assert_nil result.detect {|p| p.is_a?(User) && !p.active?}
+ assert_nil result.detect {|p| p.is_a?(AnonymousUser)}
+ end
+
context "#like" do
setup do
Principal.generate!(:login => 'login')