diff --git a/app/controllers/watchers_controller.rb b/app/controllers/watchers_controller.rb index 0a427801c..19af1e672 100644 --- a/app/controllers/watchers_controller.rb +++ b/app/controllers/watchers_controller.rb @@ -98,7 +98,7 @@ class WatchersController < ApplicationController def autocomplete_for_user @users = User.active.like(params[:q]).find(:all, :limit => 100) if @watched - @user -= @watched.watcher_users + @users -= @watched.watcher_users end render :layout => false end diff --git a/test/functional/watchers_controller_test.rb b/test/functional/watchers_controller_test.rb index 03b1a977b..8781db797 100644 --- a/test/functional/watchers_controller_test.rb +++ b/test/functional/watchers_controller_test.rb @@ -98,6 +98,26 @@ class WatchersControllerTest < ActionController::TestCase assert Issue.find(2).watched_by?(User.find(7)) end + def test_autocomplete_on_watchable_creation + xhr :get, :autocomplete_for_user, :q => 'mi' + assert_response :success + assert_select 'input', :count => 4 + assert_select 'input[name=?][value=1]', 'watcher[user_ids][]' + assert_select 'input[name=?][value=2]', 'watcher[user_ids][]' + assert_select 'input[name=?][value=8]', 'watcher[user_ids][]' + assert_select 'input[name=?][value=9]', 'watcher[user_ids][]' + end + + def test_autocomplete_on_watchable_update + xhr :get, :autocomplete_for_user, :q => 'mi', :object_id => '2' , :object_type => 'issue' + assert_response :success + assert_select 'input', :count => 3 + assert_select 'input[name=?][value=2]', 'watcher[user_ids][]' + assert_select 'input[name=?][value=8]', 'watcher[user_ids][]' + assert_select 'input[name=?][value=9]', 'watcher[user_ids][]' + + end + def test_append @request.session[:user_id] = 2 assert_no_difference 'Watcher.count' do