fixes #2335
This commit is contained in:
@@ -6,11 +6,16 @@ class SavedSearch < ActiveRecord::Base
|
||||
before_create :update_user_on_create
|
||||
after_destroy :update_user_on_destroy
|
||||
validates_uniqueness_of :tag_query, :scope => :user_id
|
||||
before_validation :normalize
|
||||
|
||||
def self.tagged(tags)
|
||||
where(:tag_query => tags).first
|
||||
end
|
||||
|
||||
def normalize
|
||||
self.tag_query = Tag.scan_query(tag_query).join(" ")
|
||||
end
|
||||
|
||||
def validate_count
|
||||
if user.saved_searches.count + 1 > user.max_saved_searches
|
||||
self.errors[:user] << "can only have up to #{user.max_saved_searches} " + "saved search".pluralize(user.max_saved_searches)
|
||||
|
||||
@@ -4,13 +4,17 @@ class SavedSearchTest < ActiveSupport::TestCase
|
||||
context "Creating a saved search" do
|
||||
setup do
|
||||
@user = FactoryGirl.create(:user)
|
||||
@saved_search = @user.saved_searches.create(:tag_query => "xxx")
|
||||
@saved_search = @user.saved_searches.create(:tag_query => " xxx ")
|
||||
end
|
||||
|
||||
should "update the bitpref on the user" do
|
||||
@user.reload
|
||||
assert(@user.has_saved_searches?, "should have saved_searches bitpref set")
|
||||
end
|
||||
|
||||
should "normalize whitespace" do
|
||||
assert_equal("xxx", @saved_search.tag_query)
|
||||
end
|
||||
end
|
||||
|
||||
context "Destroying a saved search" do
|
||||
|
||||
Reference in New Issue
Block a user