This commit is contained in:
r888888888
2015-01-19 17:14:43 -08:00
parent 74d636bafd
commit 9404052ada
2 changed files with 10 additions and 1 deletions

View File

@@ -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)

View File

@@ -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