summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/views/watchers/create.js.erb6
-rw-r--r--app/views/watchers/destroy.js.erb3
-rw-r--r--test/system/issues_test.rb15
3 files changed, 19 insertions, 5 deletions
diff --git a/app/views/watchers/create.js.erb b/app/views/watchers/create.js.erb
index 7541d20ff..b0421bc3a 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 413797dc2..12553e8e5 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 1d77a9829..4f4939a9b 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'