hide saved search functionality if not enabled

This commit is contained in:
Albert Yi
2016-12-21 11:54:43 -08:00
parent ee4ebce4d7
commit 62956be384
14 changed files with 198 additions and 104 deletions

View File

@@ -0,0 +1,20 @@
module SavedSearchTestHelper
def mock_saved_search_service!
mock_sqs_service = Class.new do
def initialize
@commands = []
end
def commands
@commands
end
def send_message(msg)
@commands << msg.split(/\n/).first
end
end
service = mock_sqs_service.new
SavedSearch.stubs(:sqs_service).returns(service)
end
end

View File

@@ -1,13 +1,18 @@
require 'test_helper'
require 'helpers/saved_search_test_helper'
class SavedSearchTest < ActiveSupport::TestCase
context "Fetching the post ids for a search" do
setup do
Danbooru.config.stubs(:listbooru_enabled?).returns(true)
Danbooru.config.stubs(:listbooru_auth_key).returns("blahblahblah")
Danbooru.config.stubs(:listbooru_server).returns("http://localhost:3001")
end
include SavedSearchTestHelper
def setup
super
mock_saved_search_service!
Danbooru.config.stubs(:listbooru_enabled?).returns(true)
Danbooru.config.stubs(:listbooru_auth_key).returns("blahblahblah")
Danbooru.config.stubs(:listbooru_server).returns("http://localhost:3001")
end
context "Fetching the post ids for a search" do
context "with a name" do
should "return a list of ids" do
MEMCACHE.expects(:get).returns(nil)
@@ -31,7 +36,7 @@ class SavedSearchTest < ActiveSupport::TestCase
context "Creating a saved search" do
setup do
@user = FactoryGirl.create(:user)
@user = FactoryGirl.create(:gold_user)
@saved_search = @user.saved_searches.create(:tag_query => " xxx ")
end
@@ -43,12 +48,15 @@ class SavedSearchTest < ActiveSupport::TestCase
should "normalize whitespace" do
assert_equal("xxx", @saved_search.tag_query)
end
should "send messages" do
assert_equal(%w(create), SavedSearch.sqs_service.commands)
end
end
context "Destroying a saved search" do
setup do
SqsService.any_instance.stubs(:send_message)
@user = FactoryGirl.create(:user)
@user = FactoryGirl.create(:gold_user)
@saved_search = @user.saved_searches.create(:tag_query => "xxx")
@saved_search.destroy
end
@@ -57,11 +65,15 @@ class SavedSearchTest < ActiveSupport::TestCase
@user.reload
assert(!@user.has_saved_searches?, "should not have the saved_searches bitpref set")
end
should "send messages" do
assert_equal(%w(create delete), SavedSearch.sqs_service.commands)
end
end
context "A user with max saved searches" do
setup do
@user = FactoryGirl.create(:user)
@user = FactoryGirl.create(:gold_user)
User.any_instance.stubs(:max_saved_searches).returns(0)
@saved_search = @user.saved_searches.create(:tag_query => "xxx")
end