diff --git a/app/controllers/reshares_controller.rb b/app/controllers/reshares_controller.rb index ff19b8a7f45b18c5866a3e45915d681d31b42d18..8b0ba88f394e44233eee4a32fa2c1c6e3eae9e6c 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 402afd73148d28be30e950eae970e58d3ca32d76..0000000000000000000000000000000000000000 --- 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 daea3162bc4cf07d62b87abaeefa1b46f9a7ea0b..9b400fa822d2330e88d1359b17d2521a2a270e03 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 8f426cdc51e3ef85ed87d1f5bf5e8d6d8acd59c8..c851d9acd8060794fce009cb07b8b7118cf623a0 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 }