From eaab2ede76c9bb3d1ed89af87029316a32e9968f Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 13 Nov 2010 10:05:43 +0000 Subject: [PATCH] Makes projects API return XML description when creating a project (#6874). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4397 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/projects_controller.rb | 2 +- test/integration/api_test/issues_test.rb | 4 ++++ test/integration/api_test/projects_test.rb | 7 +++++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index c3efbfd9f..a6a5c9e5f 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -93,7 +93,7 @@ class ProjectsController < ApplicationController flash[:notice] = l(:notice_successful_create) redirect_to :controller => 'projects', :action => 'settings', :id => @project } - format.xml { head :created, :location => url_for(:controller => 'projects', :action => 'show', :id => @project.id) } + format.xml { render :action => 'show', :status => :created, :location => url_for(:controller => 'projects', :action => 'show', :id => @project.id) } end else respond_to do |format| diff --git a/test/integration/api_test/issues_test.rb b/test/integration/api_test/issues_test.rb index 60ee66bb9..1c1f3f8b7 100644 --- a/test/integration/api_test/issues_test.rb +++ b/test/integration/api_test/issues_test.rb @@ -106,6 +106,10 @@ class ApiTest::IssuesTest < ActionController::IntegrationTest assert_equal 2, issue.tracker_id assert_equal 3, issue.status_id assert_equal 'API test', issue.subject + + assert_response :created + assert_equal 'application/xml', @response.content_type + assert_tag 'issue', :child => {:tag => 'id', :content => issue.id.to_s} end end diff --git a/test/integration/api_test/projects_test.rb b/test/integration/api_test/projects_test.rb index de84daa08..21b080a13 100644 --- a/test/integration/api_test/projects_test.rb +++ b/test/integration/api_test/projects_test.rb @@ -52,12 +52,15 @@ class ApiTest::ProjectsTest < ActionController::IntegrationTest assert_difference 'Project.count' do post '/projects.xml', {:project => attributes}, :authorization => credentials('admin') end - assert_response :created - assert_equal 'application/xml', @response.content_type + project = Project.first(:order => 'id DESC') attributes.each do |attribute, value| assert_equal value, project.send(attribute) end + + assert_response :created + assert_equal 'application/xml', @response.content_type + assert_tag 'project', :child => {:tag => 'id', :content => project.id.to_s} end def test_create_failure