From 4fabbe93a50b7941e758d7134cc157f011728f63 Mon Sep 17 00:00:00 2001 From: danielgrippi <danielgrippi@gmail.com> Date: Wed, 28 Dec 2011 17:25:06 -0500 Subject: [PATCH] fix ResharesController / StatusMessage controller spec; remove another js response --- app/controllers/reshares_controller.rb | 7 ++-- app/views/reshares/create.js.erb | 9 ----- spec/controllers/reshares_controller_spec.rb | 21 ++++++++---- .../status_messages_controller_spec.rb | 33 ++----------------- 4 files changed, 19 insertions(+), 51 deletions(-) delete mode 100644 app/views/reshares/create.js.erb diff --git a/app/controllers/reshares_controller.rb b/app/controllers/reshares_controller.rb index ff19b8a7f4..8b0ba88f39 100644 --- a/app/controllers/reshares_controller.rb +++ b/app/controllers/reshares_controller.rb @@ -1,6 +1,6 @@ class ResharesController < ApplicationController before_filter :authenticate_user! - respond_to :js, :json + respond_to :json def create @reshare = current_user.build_post(:reshare, :root_guid => params[:root_guid]) @@ -9,9 +9,6 @@ class ResharesController < ApplicationController current_user.dispatch_post(@reshare, :url => post_url(@reshare), :additional_subscribers => @reshare.root.author) end - respond_to do |format| - format.html { respond_with @reshare } - format.json{ render :json => @reshare.as_api_response(:backbone), :status => 201 } - end + render :json => @reshare.as_api_response(:backbone), :status => 201 end end diff --git a/app/views/reshares/create.js.erb b/app/views/reshares/create.js.erb deleted file mode 100644 index 402afd7314..0000000000 --- a/app/views/reshares/create.js.erb +++ /dev/null @@ -1,9 +0,0 @@ -<% if @reshare.persisted? %> - $('.stream_element#<%=params[:root_guid]%>').addClass('reshared'); - ContentUpdater.addPostToStream( - "<%= escape_javascript(render(:partial => 'shared/stream_element', :locals => {:post => @reshare }))=%>" - ); - <% else %> - Diaspora.page.flashMessages.render({success:false, - notice: "<%= reshare_error_message(@reshare) %>"}); -<% end %> diff --git a/spec/controllers/reshares_controller_spec.rb b/spec/controllers/reshares_controller_spec.rb index daea3162bc..9b400fa822 100644 --- a/spec/controllers/reshares_controller_spec.rb +++ b/spec/controllers/reshares_controller_spec.rb @@ -1,38 +1,45 @@ require 'spec_helper' -describe ResharesController do +describe ResharesController do describe '#create' do + let(:post_request!) { + post :create, :format => :json, :root_guid => @post_guid + } + + before do + @post_guid = Factory(:status_message, :public => true).guid + end + it 'requires authentication' do - post :create, :format => :js + post_request! response.should_not be_success end context 'with an authenticated user' do before do sign_in :user, bob - @post_guid = Factory(:status_message, :public => true).guid @controller.stub(:current_user).and_return(bob) end it 'succeeds' do - post :create, :format => :js, :root_guid => @post_guid response.should be_success + post_request! end it 'creates a reshare' do expect{ - post :create, :format => :js, :root_guid => @post_guid + post_request! }.should change(Reshare, :count).by(1) end it 'after save, calls add to streams' do bob.should_receive(:add_to_streams) - post :create, :format => :js, :root_guid => @post_guid + post_request! end it 'calls dispatch' do bob.should_receive(:dispatch_post).with(anything, hash_including(:additional_subscribers)) - post :create, :format => :js, :root_guid => @post_guid + post_request! end end end diff --git a/spec/controllers/status_messages_controller_spec.rb b/spec/controllers/status_messages_controller_spec.rb index 8f426cdc51..c851d9acd8 100644 --- a/spec/controllers/status_messages_controller_spec.rb +++ b/spec/controllers/status_messages_controller_spec.rb @@ -47,39 +47,12 @@ describe StatusMessagesController do }, :aspect_ids => [@aspect1.id.to_s] } } - + it 'removes getting started from new users' do @controller.should_receive(:remove_getting_started) post :create, status_message_hash end - context 'js requests' do - it 'responds' do - post :create, status_message_hash.merge(:format => 'js') - response.status.should == 201 - end - - it 'responds with json' do - post :create, status_message_hash.merge(:format => 'js') - json = JSON.parse(response.body) - json['post_id'].should_not be_nil - json['html'].should_not be_nil - end - - it 'saves the html as a fixture', :fixture => true do - post :create, status_message_hash.merge(:format => 'js') - json = JSON.parse(response.body) - save_fixture(json['html'], "created_status_message") - end - - it 'escapes XSS' do - xss = "<script> alert('hi browser') </script>" - post :create, status_message_hash.merge(:format => 'js', :text => xss) - json = JSON.parse(response.body) - json['html'].should_not =~ /<script>/ - end - end - it 'takes public in aspect ids' do post :create, status_message_hash.merge(:aspect_ids => ['public']) response.status.should == 302 @@ -166,7 +139,7 @@ describe StatusMessagesController do alice.getting_started = true alice.save expect{ - @controller.remove_getting_started + @controller.remove_getting_started }.should change{ alice.reload.getting_started }.from(true).to(false) @@ -174,7 +147,7 @@ describe StatusMessagesController do it 'does nothing for returning users' do expect{ - @controller.remove_getting_started + @controller.remove_getting_started }.should_not change{ alice.reload.getting_started } -- GitLab