diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-10-17 17:29:27 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-10-17 17:29:27 +0000 |
commit | d62b90db7327be488007d382f84c469f9fbe4ffe (patch) | |
tree | 153cfe41553b040154ecc89605b797864a76f3c1 /test | |
parent | fcb22595d0e87a2d04fb0210c775efdab6cfffa6 (diff) | |
download | redmine-d62b90db7327be488007d382f84c469f9fbe4ffe.tar.gz redmine-d62b90db7327be488007d382f84c469f9fbe4ffe.zip |
Makes enumerations available through the REST API.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10664 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test')
-rw-r--r-- | test/functional/enumerations_controller_test.rb | 10 | ||||
-rw-r--r-- | test/integration/api_test/enumerations_test.rb | 44 | ||||
-rw-r--r-- | test/integration/routing/enumerations_test.rb | 4 |
3 files changed, 56 insertions, 2 deletions
diff --git a/test/functional/enumerations_controller_test.rb b/test/functional/enumerations_controller_test.rb index b13fc86f7..dba0720d6 100644 --- a/test/functional/enumerations_controller_test.rb +++ b/test/functional/enumerations_controller_test.rb @@ -30,6 +30,12 @@ class EnumerationsControllerTest < ActionController::TestCase assert_template 'index' end + def test_index_should_require_admin + @request.session[:user_id] = nil + get :index + assert_response 302 + end + def test_new get :new, :type => 'IssuePriority' assert_response :success @@ -48,7 +54,7 @@ class EnumerationsControllerTest < ActionController::TestCase assert_difference 'IssuePriority.count' do post :create, :enumeration => {:type => 'IssuePriority', :name => 'Lowest'} end - assert_redirected_to '/enumerations?type=IssuePriority' + assert_redirected_to '/enumerations' e = IssuePriority.find_by_name('Lowest') assert_not_nil e end @@ -77,7 +83,7 @@ class EnumerationsControllerTest < ActionController::TestCase assert_no_difference 'IssuePriority.count' do put :update, :id => 6, :enumeration => {:type => 'IssuePriority', :name => 'New name'} end - assert_redirected_to '/enumerations?type=IssuePriority' + assert_redirected_to '/enumerations' e = IssuePriority.find(6) assert_equal 'New name', e.name end diff --git a/test/integration/api_test/enumerations_test.rb b/test/integration/api_test/enumerations_test.rb new file mode 100644 index 000000000..fa315596d --- /dev/null +++ b/test/integration/api_test/enumerations_test.rb @@ -0,0 +1,44 @@ +# Redmine - project management software +# Copyright (C) 2006-2012 Jean-Philippe Lang +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +require File.expand_path('../../../test_helper', __FILE__) + +class ApiTest::EnumerationsTest < ActionController::IntegrationTest + fixtures :enumerations + + def setup + Setting.rest_api_enabled = '1' + end + + context "/enumerations/issue_priorities" do + context "GET" do + + should "return priorities" do + get '/enumerations/issue_priorities.xml' + + assert_response :success + assert_equal 'application/xml', response.content_type + assert_select 'issue_priorities[type=array]' do + assert_select 'issue_priority' do + assert_select 'id', :text => '6' + assert_select 'name', :text => 'High' + end + end + end + end + end +end diff --git a/test/integration/routing/enumerations_test.rb b/test/integration/routing/enumerations_test.rb index f9597205c..8f17f23ce 100644 --- a/test/integration/routing/enumerations_test.rb +++ b/test/integration/routing/enumerations_test.rb @@ -43,5 +43,9 @@ class RoutingEnumerationsTest < ActionController::IntegrationTest { :method => 'delete', :path => "/enumerations/2" }, { :controller => 'enumerations', :action => 'destroy', :id => '2' } ) + assert_routing( + { :method => 'get', :path => "/enumerations/issue_priorities.xml" }, + { :controller => 'enumerations', :action => 'index', :type => 'issue_priorities', :format => 'xml' } + ) end end |