From 97233851dfdf3060e05817f4794dbcd56aa4a7da Mon Sep 17 00:00:00 2001 From: Diaspora Europe Date: Thu, 22 Mar 2012 16:52:19 +0100 Subject: [PATCH 1/3] added status message spec, fix render nothing --- app/controllers/status_messages_controller.rb | 2 +- spec/controllers/status_messages_controller_spec.rb | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/controllers/status_messages_controller.rb b/app/controllers/status_messages_controller.rb index 361636c9d..939a7d9fc 100644 --- a/app/controllers/status_messages_controller.rb +++ b/app/controllers/status_messages_controller.rb @@ -71,7 +71,7 @@ class StatusMessagesController < ApplicationController end else respond_to do |format| - format.json { render :nothing, :status => 403 } + format.json { render :nothing => true , :status => 403 } format.html { redirect_to :back } end end diff --git a/spec/controllers/status_messages_controller_spec.rb b/spec/controllers/status_messages_controller_spec.rb index 12b79da03..eda758c26 100644 --- a/spec/controllers/status_messages_controller_spec.rb +++ b/spec/controllers/status_messages_controller_spec.rb @@ -79,6 +79,11 @@ describe StatusMessagesController do :aspect_ids => [@aspect1.id.to_s] } } + it 'creates with valid json' do + post :create, status_message_hash.merge(:format => 'json') + response.status.should == 201 + end + it 'removes getting started from new users' do @controller.should_receive(:remove_getting_started) post :create, status_message_hash From e8933fa1da15fe875cf18b0e9e897e25ae9206b1 Mon Sep 17 00:00:00 2001 From: Diaspora Europe Date: Thu, 22 Mar 2012 16:59:14 +0100 Subject: [PATCH 2/3] added status message html and mobile spec --- spec/controllers/status_messages_controller_spec.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/spec/controllers/status_messages_controller_spec.rb b/spec/controllers/status_messages_controller_spec.rb index eda758c26..2252f7bdc 100644 --- a/spec/controllers/status_messages_controller_spec.rb +++ b/spec/controllers/status_messages_controller_spec.rb @@ -79,11 +79,23 @@ describe StatusMessagesController do :aspect_ids => [@aspect1.id.to_s] } } + it 'creates with valid html' do + post :create, status_message_hash.merge(:format => 'html') + response.status.should == 302 + response.should be_redirect + end + it 'creates with valid json' do post :create, status_message_hash.merge(:format => 'json') response.status.should == 201 end + it 'creates with valid mobile' do + post :create, status_message_hash.merge(:format => 'mobile') + response.status.should == 302 + response.should be_redirect + end + it 'removes getting started from new users' do @controller.should_receive(:remove_getting_started) post :create, status_message_hash From 88bb3403d817e6dade07eaf12573c18450f5d539 Mon Sep 17 00:00:00 2001 From: Diaspora Europe Date: Thu, 22 Mar 2012 17:24:30 +0100 Subject: [PATCH 3/3] added 3 invalid status message specs --- app/controllers/status_messages_controller.rb | 9 +++++---- .../status_messages_controller_spec.rb | 19 ++++++++++++++++++- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/app/controllers/status_messages_controller.rb b/app/controllers/status_messages_controller.rb index 939a7d9fc..5953993a9 100644 --- a/app/controllers/status_messages_controller.rb +++ b/app/controllers/status_messages_controller.rb @@ -65,14 +65,15 @@ class StatusMessagesController < ApplicationController end respond_to do |format| - format.html { redirect_to :back} - format.mobile{ redirect_to stream_path} - format.json{ render :json => @status_message.as_api_response(:backbone), :status => 201 } + format.html { redirect_to :back } + format.mobile { redirect_to stream_path } + format.json { render :json => @status_message.as_api_response(:backbone), :status => 201 } end else respond_to do |format| - format.json { render :nothing => true , :status => 403 } format.html { redirect_to :back } + format.mobile { redirect_to stream_path } + format.json { render :nothing => true , :status => 403 } end end end diff --git a/spec/controllers/status_messages_controller_spec.rb b/spec/controllers/status_messages_controller_spec.rb index 2252f7bdc..b6dbd587d 100644 --- a/spec/controllers/status_messages_controller_spec.rb +++ b/spec/controllers/status_messages_controller_spec.rb @@ -80,7 +80,13 @@ describe StatusMessagesController do } it 'creates with valid html' do - post :create, status_message_hash.merge(:format => 'html') + post :create, status_message_hash + response.status.should == 302 + response.should be_redirect + end + + it 'creates with invalid html' do + post :create, status_message_hash.merge(:status_message => { :text => "0123456789" * 7000 }) response.status.should == 302 response.should be_redirect end @@ -90,12 +96,23 @@ describe StatusMessagesController do response.status.should == 201 end + it 'creates with invalid json' do + post :create, status_message_hash.merge(:status_message => { :text => "0123456789" * 7000 }, :format => 'json') + response.status.should == 403 + end + it 'creates with valid mobile' do post :create, status_message_hash.merge(:format => 'mobile') response.status.should == 302 response.should be_redirect end + it 'creates with invalid mobile' do + post :create, status_message_hash.merge(:status_message => { :text => "0123456789" * 7000 }, :format => 'mobile') + response.status.should == 302 + response.should be_redirect + end + it 'removes getting started from new users' do @controller.should_receive(:remove_getting_started) post :create, status_message_hash