diff --git a/app/views/watchers/create.js.erb b/app/views/watchers/create.js.erb index 7541d20ff9..b0421bc3a3 100644 --- a/app/views/watchers/create.js.erb +++ b/app/views/watchers/create.js.erb @@ -4,8 +4,6 @@ $('#ajax-modal').html( :locals => {:watchables => @watchables, :users => @users})) %>'); <% if @watchables.size == 1 %> - $('#watchers').html( - '<%= escape_javascript( - render(:partial => 'watchers/watchers', - :locals => {:watched => @watchables.first})) %>'); + <%= render(:partial => 'watchers/set_watcher', + :locals => {:watched => @watchables, :user => User.current}) %> <% end %> diff --git a/app/views/watchers/destroy.js.erb b/app/views/watchers/destroy.js.erb index 413797dc29..12553e8e59 100644 --- a/app/views/watchers/destroy.js.erb +++ b/app/views/watchers/destroy.js.erb @@ -1,3 +1,4 @@ <% if @watchables.size == 1 %> -$('#watchers').html('<%= escape_javascript(render(:partial => 'watchers/watchers', :locals => {:watched => @watchables.first})) %>'); + <%= render(:partial => 'watchers/set_watcher', + :locals => {:watched => @watchables, :user => User.current}) %> <% end %> diff --git a/test/system/issues_test.rb b/test/system/issues_test.rb index 1d77a98298..4f4939a9b3 100644 --- a/test/system/issues_test.rb +++ b/test/system/issues_test.rb @@ -290,6 +290,21 @@ class IssuesSystemTest < ApplicationSystemTestCase assert issue1.reload.watched_by?(jsmith) end + def test_change_watch_or_unwatch_icon_from_sidebar + user = User.find(2) + log_user('jsmith', 'jsmith') + visit '/issues/1' + assert page.has_css?('#content .contextual .issue-1-watcher.icon-fav-off') + # add watcher 'jsmith' from sidebar + page.find('#watchers .contextual a', :text => 'Add').click + page.find('#users_for_watcher label', :text => 'John Smith').click + page.find('#new-watcher-form p.buttons input[type=submit]').click + assert page.has_css?('#content .contextual .issue-1-watcher.icon-fav') + # remove watcher 'jsmith' from sidebar + page.find('#watchers ul li.user-2 a.delete').click + assert page.has_css?('#content .contextual .issue-1-watcher.icon-fav-off') + end + def test_bulk_watch_issues_via_context_menu log_user('jsmith', 'jsmith') visit '/issues'