This patch set contains rewrite of previously commented JSON cucumber tests to rspec
--- src/spec/spec_helper.rb | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/src/spec/spec_helper.rb b/src/spec/spec_helper.rb index 74799ff..641a844 100644 --- a/src/spec/spec_helper.rb +++ b/src/spec/spec_helper.rb @@ -6,6 +6,17 @@ require 'authlogic/test_case' require 'timecop' require 'vcr_setup'
+module RequestContentTypeHelper + def accept_json + @request.env["HTTP_ACCEPT"] = "application/json" + end + + def accept_xml + @request.env["HTTP_ACCEPT"] = "application/xml" + end +end + +include RequestContentTypeHelper # Requires supporting ruby files with custom matchers and macros, etc, # in spec/support/ and its subdirectories. Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
--- src/features/pool.feature | 11 --------- src/spec/controllers/pools_controller_spec.rb | 28 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 11 deletions(-)
diff --git a/src/features/pool.feature b/src/features/pool.feature index de7f2cc..9422a17 100644 --- a/src/features/pool.feature +++ b/src/features/pool.feature @@ -152,17 +152,6 @@ Feature: Manage Pools And I should see "Deployment Name" And I should see "mockdeployment"
- #Scenario: Create a pool and get JSON response - # Given I accept JSON - # When I create a pool - # Then I should get back a pool in JSON format - - #Scenario: Delete a pool - # Given a pool "mockpool" exists - # And I accept JSON - # When I delete "mockpool" pool - # Then I should get back JSON object with success and errors - Scenario: Switch pretty view to filtred view on pools index Given I am on the pools page And I see "Overview" diff --git a/src/spec/controllers/pools_controller_spec.rb b/src/spec/controllers/pools_controller_spec.rb index 0795941..652dd42 100644 --- a/src/spec/controllers/pools_controller_spec.rb +++ b/src/spec/controllers/pools_controller_spec.rb @@ -72,4 +72,32 @@ describe PoolsController do end.should change(Pool, :count).by(-2) end
+ context "JSON format responses for " do + before do + accept_json + UserSession.create(@admin) + end + + describe "#create" do + before do + @pool_attributes = Factory.attributes_for(:pool) + post :create, :pool => @pool_attributes + end + + it { response.should be_success } + it { ActiveSupport::JSON.decode(response.body)["name"].should == @pool_attributes[:name] } + it { ActiveSupport::JSON.decode(response.body)["enabled"].should == @pool_attributes[:enabled] } + end + + describe "#destroy" do + before do + @pool = Factory.build(:pool) + Pool.stub!(:find).and_return([@pool]) + delete :multi_destroy, :pools_selected => [@pool.id], :format => :json + end + + it { response.should be_success } + it { ActiveSupport::JSON.decode(response.body)["success"].should == [@pool.name] } + end + end end
--- src/features/instance.feature | 6 ------ 1 files changed, 0 insertions(+), 6 deletions(-)
diff --git a/src/features/instance.feature b/src/features/instance.feature index ab44ae4..c36647c 100644 --- a/src/features/instance.feature +++ b/src/features/instance.feature @@ -185,12 +185,6 @@ Feature: Manage Instances When I am viewing the mock instance Then I should get back a partial
- # for now it's not supported to create an instance, only deployment - #Scenario: Create an instance and get JSON response - # Given I accept JSON - # When I create mock instance - # Then I should get back instance in JSON format - #Scenario: Create an instance over XHR # Given I request XHR # When I create mock instance
--- src/features/deployment.feature | 6 ---- .../controllers/deployments_controller_spec.rb | 29 ++++++++++++++++++++ 2 files changed, 29 insertions(+), 6 deletions(-)
diff --git a/src/features/deployment.feature b/src/features/deployment.feature index 1f12394..e246c1a 100644 --- a/src/features/deployment.feature +++ b/src/features/deployment.feature @@ -133,12 +133,6 @@ Feature: Manage Deployments Then I should get back a partial And I should see "myinstance"
- #Scenario: Create a deployment and get JSON response - # Given I accept JSON - # When I create a deployment - # Then show me the page - # Then I should get back a deployment in JSON format - Scenario: Create a deployment and get XHR response Given I request XHR When I create a deployment diff --git a/src/spec/controllers/deployments_controller_spec.rb b/src/spec/controllers/deployments_controller_spec.rb index 53bcd30..76e7732 100644 --- a/src/spec/controllers/deployments_controller_spec.rb +++ b/src/spec/controllers/deployments_controller_spec.rb @@ -36,4 +36,33 @@ describe DeploymentsController do end.should change(Deployment, :count).by(-2) end
+ context "JSON format responses for " do + before do + accept_json + UserSession.create(@admin) + end + + describe "#create" do + before do + @deployment = Factory.build(:deployment) + Deployment.stub!(:new).and_return(@deployment) + post :create + end + + it { response.should be_success } + it { ActiveSupport::JSON.decode(response.body)["name"].should == @deployment.name } + end + + describe "#destroy" do + before do + @deployment = Factory.build(:deployment) + Deployment.stub!(:find).and_return([@deployment]) + delete :multi_destroy, :deployments_selected => [@deployment.id], :format => :json + end + + it { response.should be_success } + it { ActiveSupport::JSON.decode(response.body)["success"].should == [@deployment.name] } + end + end + end
On 08/24/2011 03:58 PM, Tomas Hrcka wrote:
This patch set contains rewrite of previously commented JSON cucumber tests to rspec _______________________________________________ aeolus-devel mailing list aeolus-devel@lists.fedorahosted.org https://fedorahosted.org/mailman/listinfo/aeolus-devel
Nice one, ACK to the series.
Thomas
aeolus-devel@lists.fedorahosted.org