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