Commit bf8726a273b86886c9f3ae449785c1e9a4cd93e2

Authored by Cyril Mougel
1 parent b6f670c8
Exists in master and in 1 other branch production

If the user not watch app. Not see the unwatch button

app/assets/javascripts/apps.show.js
1 $(function() { 1 $(function() {
  2 +
2 $("#watchers_toggle").click(function() { 3 $("#watchers_toggle").click(function() {
3 $("#watchers_div").slideToggle("slow"); 4 $("#watchers_div").slideToggle("slow");
4 }); 5 });
  6 +
5 $("#repository_toggle").click(function() { 7 $("#repository_toggle").click(function() {
6 $("#repository_div").slideToggle("slow"); 8 $("#repository_div").slideToggle("slow");
7 }); 9 });
  10 +
8 $("#deploys_toggle").click(function() { 11 $("#deploys_toggle").click(function() {
9 $("#deploys_div").slideToggle("slow"); 12 $("#deploys_div").slideToggle("slow");
10 }); 13 });
app/views/apps/show.html.haml
@@ -15,8 +15,9 @@ @@ -15,8 +15,9 @@
15 = link_to t('.unresolved_errs'), app_path(app), :class => 'button' 15 = link_to t('.unresolved_errs'), app_path(app), :class => 'button'
16 - else 16 - else
17 = link_to t('.all_errs'), app_path(app, :all_errs => true), :class => 'button' 17 = link_to t('.all_errs'), app_path(app, :all_errs => true), :class => 'button'
18 - = link_to t('.unwatch'), app_watcher_path({:app_id => app, :id => current_user.id}), :method => :delete, :class => 'button', :confirm => 'Are you sure?'  
19 18
  19 + - if current_user.watching?(app)
  20 + = link_to t('.unwatch'), app_watcher_path({:app_id => app, :id => current_user.id}), :method => :delete, :class => 'button', :confirm => t('.are_you_sure')
20 %h3#watchers_toggle 21 %h3#watchers_toggle
21 =t('.watchers') 22 =t('.watchers')
22 %span.click_span=t('.show_hide') 23 %span.click_span=t('.show_hide')
config/locales/en.yml
@@ -83,6 +83,7 @@ en: @@ -83,6 +83,7 @@ en:
83 all_errs: all errs 83 all_errs: all errs
84 all_users_notified: "All users will be notified when something happens." 84 all_users_notified: "All users will be notified when something happens."
85 api_key: "API Key:" 85 api_key: "API Key:"
  86 + are_you_sure: 'Are you sure?'
86 atom_title: "Errbit notices for %{name} at %{host}" 87 atom_title: "Errbit notices for %{name} at %{host}"
87 deploy_count: "Deploy Count:" 88 deploy_count: "Deploy Count:"
88 edit: edit 89 edit: edit
spec/views/apps/show.html.haml_spec.rb
@@ -2,17 +2,20 @@ require 'spec_helper' @@ -2,17 +2,20 @@ require 'spec_helper'
2 2
3 describe "apps/show.html.haml" do 3 describe "apps/show.html.haml" do
4 let(:app) { stub_model(App) } 4 let(:app) { stub_model(App) }
  5 + let(:user) { stub_model(User) }
  6 +
  7 + let(:action_bar) do
  8 + view.content_for(:action_bar)
  9 + end
  10 +
5 before do 11 before do
6 view.stub(:app).and_return(app) 12 view.stub(:app).and_return(app)
7 view.stub(:all_errs).and_return(false) 13 view.stub(:all_errs).and_return(false)
8 view.stub(:deploys).and_return([]) 14 view.stub(:deploys).and_return([])
9 - controller.stub(:current_user) { stub_model(User) } 15 + controller.stub(:current_user) { user }
10 end 16 end
11 17
12 describe "content_for :action_bar" do 18 describe "content_for :action_bar" do
13 - def action_bar  
14 - view.content_for(:action_bar)  
15 - end  
16 19
17 it "should confirm the 'cancel' link" do 20 it "should confirm the 'cancel' link" do
18 render 21 render
@@ -28,5 +31,26 @@ describe "apps/show.html.haml" do @@ -28,5 +31,26 @@ describe "apps/show.html.haml" do
28 rendered.should match(/No errs have been/) 31 rendered.should match(/No errs have been/)
29 end 32 end
30 end 33 end
  34 +
  35 + context "with user watch application" do
  36 + before do
  37 + user.stub(:watching?).with(app).and_return(true)
  38 + end
  39 + it 'see the unwatch button' do
  40 + render
  41 + expect(action_bar).to include(I18n.t('apps.show.unwatch'))
  42 + end
  43 + end
  44 +
  45 + context "with user not watch application" do
  46 + before do
  47 + user.stub(:watching?).with(app).and_return(false)
  48 + end
  49 + it 'not see the unwatch button' do
  50 + render
  51 + expect(action_bar).to_not include(I18n.t('apps.show.unwatch'))
  52 + end
  53 + end
  54 +
31 end 55 end
32 56