##// END OF EJS Templates
Fixed that magic links to existing attachments are not converted when previewing issue notes....
Fixed that magic links to existing attachments are not converted when previewing issue notes. git-svn-id: http://svn.redmine.org/redmine/trunk@12476 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r11978:b6cb7aa8e3b9
r12201:58a63c49c49b
Show More
settings_controller_test.rb
186 lines | 6.5 KiB | text/x-ruby | RubyLexer
/ test / functional / settings_controller_test.rb
Toshi MARUYAMA
remove trailing white-spaces from functional settings controller test....
r5732 # Redmine - project management software
Jean-Philippe Lang
Copyright for 2013 (#12788)....
r10939 # Copyright (C) 2006-2013 Jean-Philippe Lang
Jean-Philippe Lang
Admin settings screen split to tabs....
r1033 #
# 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.
Toshi MARUYAMA
remove trailing white-spaces from functional settings controller test....
r5732 #
Jean-Philippe Lang
Admin settings screen split to tabs....
r1033 # 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.
Toshi MARUYAMA
remove trailing white-spaces from functional settings controller test....
r5732 #
Jean-Philippe Lang
Admin settings screen split to tabs....
r1033 # 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.
Jean-Baptiste Barth
Use absolute paths in test/**/* requires for Ruby 1.9.2 compatibility. #4050...
r4395 require File.expand_path('../../test_helper', __FILE__)
Jean-Philippe Lang
Admin settings screen split to tabs....
r1033
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class SettingsControllerTest < ActionController::TestCase
Jean-Philippe Lang
Admin settings screen split to tabs....
r1033 fixtures :users
Toshi MARUYAMA
remove trailing white-spaces from functional settings controller test....
r5732
Jean-Philippe Lang
Admin settings screen split to tabs....
r1033 def setup
User.current = nil
@request.session[:user_id] = 1 # admin
end
Toshi MARUYAMA
remove trailing white-spaces from functional settings controller test....
r5732
Jean-Philippe Lang
Adds a few functional tests....
r2899 def test_index
get :index
assert_response :success
assert_template 'edit'
end
Toshi MARUYAMA
remove trailing white-spaces from functional settings controller test....
r5732
Jean-Philippe Lang
Admin settings screen split to tabs....
r1033 def test_get_edit
get :edit
assert_response :success
assert_template 'edit'
Jean-Philippe Lang
Fixed that SCM selection is not saved when all SCM are disabled (#9937)....
r8448
assert_tag 'input', :attributes => {:name => 'settings[enabled_scm][]', :value => ''}
Jean-Philippe Lang
Admin settings screen split to tabs....
r1033 end
Toshi MARUYAMA
remove trailing white-spaces from functional settings controller test....
r5732
Jean-Philippe Lang
Ability to set default column order in issue list (#11068)....
r9597 def test_get_edit_should_preselect_default_issue_list_columns
with_settings :issue_list_default_columns => %w(tracker subject status updated_on) do
get :edit
assert_response :success
end
assert_select 'select[id=selected_columns][name=?]', 'settings[issue_list_default_columns][]' do
assert_select 'option', 4
assert_select 'option[value=tracker]', :text => 'Tracker'
assert_select 'option[value=subject]', :text => 'Subject'
assert_select 'option[value=status]', :text => 'Status'
assert_select 'option[value=updated_on]', :text => 'Updated'
end
assert_select 'select[id=available_columns]' do
assert_select 'option[value=tracker]', 0
assert_select 'option[value=priority]', :text => 'Priority'
end
end
Jean-Philippe Lang
Fixed that settings raises an error if not trackers exist (#11467)....
r9884 def test_get_edit_without_trackers_should_succeed
Tracker.delete_all
get :edit
assert_response :success
end
Jean-Philippe Lang
Admin settings screen split to tabs....
r1033 def test_post_edit_notifications
post :edit, :settings => {:mail_from => 'functional@test.foo',
:bcc_recipients => '0',
:notified_events => %w(issue_added issue_updated news_added),
:emails_footer => 'Test footer'
}
Jean-Philippe Lang
Use named routes in controllers....
r10754 assert_redirected_to '/settings'
Jean-Philippe Lang
Admin settings screen split to tabs....
r1033 assert_equal 'functional@test.foo', Setting.mail_from
assert !Setting.bcc_recipients?
assert_equal %w(issue_added issue_updated news_added), Setting.notified_events
assert_equal 'Test footer', Setting.emails_footer
Jean-Philippe Lang
Tests should not change settings....
r9766 Setting.clear_cache
Jean-Philippe Lang
Admin settings screen split to tabs....
r1033 end
Jean-Philippe Lang
Adds tests for plugin settings editing....
r7919
Jean-Philippe Lang
Support for multiple issue update keywords/rules in commit messages (#4911)....
r11967 def test_edit_commit_update_keywords
Jean-Philippe Lang
Ability to define commit keywords per tracker (#7590)....
r11978 with_settings :commit_update_keywords => [
{"keywords" => "fixes, resolves", "status_id" => "3"},
{"keywords" => "closes", "status_id" => "5", "done_ratio" => "100", "if_tracker_id" => "2"}
] do
Jean-Philippe Lang
Support for multiple issue update keywords/rules in commit messages (#4911)....
r11967 get :edit
end
assert_response :success
assert_select 'tr.commit-keywords', 2
Jean-Philippe Lang
Ability to define commit keywords per tracker (#7590)....
r11978 assert_select 'tr.commit-keywords:nth-child(1)' do
Jean-Philippe Lang
Support for multiple issue update keywords/rules in commit messages (#4911)....
r11967 assert_select 'input[name=?][value=?]', 'settings[commit_update_keywords][keywords][]', 'fixes, resolves'
assert_select 'select[name=?]', 'settings[commit_update_keywords][status_id][]' do
assert_select 'option[value=3][selected=selected]'
end
end
Jean-Philippe Lang
Ability to define commit keywords per tracker (#7590)....
r11978 assert_select 'tr.commit-keywords:nth-child(2)' do
Jean-Philippe Lang
Support for multiple issue update keywords/rules in commit messages (#4911)....
r11967 assert_select 'input[name=?][value=?]', 'settings[commit_update_keywords][keywords][]', 'closes'
assert_select 'select[name=?]', 'settings[commit_update_keywords][status_id][]' do
Jean-Philippe Lang
Ability to define commit keywords per tracker (#7590)....
r11978 assert_select 'option[value=5][selected=selected]', :text => 'Closed'
Jean-Philippe Lang
Support for multiple issue update keywords/rules in commit messages (#4911)....
r11967 end
assert_select 'select[name=?]', 'settings[commit_update_keywords][done_ratio][]' do
Jean-Philippe Lang
Ability to define commit keywords per tracker (#7590)....
r11978 assert_select 'option[value=100][selected=selected]', :text => '100 %'
end
assert_select 'select[name=?]', 'settings[commit_update_keywords][if_tracker_id][]' do
assert_select 'option[value=2][selected=selected]', :text => 'Feature request'
Jean-Philippe Lang
Support for multiple issue update keywords/rules in commit messages (#4911)....
r11967 end
end
end
def test_edit_without_commit_update_keywords_should_show_blank_line
Jean-Philippe Lang
Ability to define commit keywords per tracker (#7590)....
r11978 with_settings :commit_update_keywords => [] do
Jean-Philippe Lang
Support for multiple issue update keywords/rules in commit messages (#4911)....
r11967 get :edit
end
assert_response :success
assert_select 'tr.commit-keywords', 1 do
Jean-Philippe Lang
Ability to define commit keywords per tracker (#7590)....
r11978 assert_select 'input[name=?]:not([value])', 'settings[commit_update_keywords][keywords][]'
Jean-Philippe Lang
Support for multiple issue update keywords/rules in commit messages (#4911)....
r11967 end
end
def test_post_edit_commit_update_keywords
post :edit, :settings => {
:commit_update_keywords => {
:keywords => ["resolves", "closes"],
:status_id => ["3", "5"],
Jean-Philippe Lang
Ability to define commit keywords per tracker (#7590)....
r11978 :done_ratio => ["", "100"],
:if_tracker_id => ["", "2"]
Jean-Philippe Lang
Support for multiple issue update keywords/rules in commit messages (#4911)....
r11967 }
}
assert_redirected_to '/settings'
Jean-Philippe Lang
Ability to define commit keywords per tracker (#7590)....
r11978 assert_equal([
{"keywords" => "resolves", "status_id" => "3"},
{"keywords" => "closes", "status_id" => "5", "done_ratio" => "100", "if_tracker_id" => "2"}
], Setting.commit_update_keywords)
Jean-Philippe Lang
Support for multiple issue update keywords/rules in commit messages (#4911)....
r11967 end
Jean-Philippe Lang
Adds tests for plugin settings editing....
r7919 def test_get_plugin_settings
Setting.stubs(:plugin_foo).returns({'sample_setting' => 'Plugin setting value'})
Jean-Philippe Lang
Rails 3.1 compatibility....
r8967 ActionController::Base.append_view_path(File.join(Rails.root, "test/fixtures/plugins"))
Jean-Philippe Lang
Adds tests for plugin settings editing....
r7919 Redmine::Plugin.register :foo do
settings :partial => "foo_plugin/foo_plugin_settings"
end
get :plugin, :id => 'foo'
assert_response :success
assert_template 'plugin'
assert_tag 'form', :attributes => {:action => '/settings/plugin/foo'},
:descendant => {:tag => 'input', :attributes => {:name => 'settings[sample_setting]', :value => 'Plugin setting value'}}
Redmine::Plugin.clear
end
def test_get_invalid_plugin_settings
get :plugin, :id => 'none'
assert_response 404
end
Jean-Philippe Lang
Fix 500 error for requests to the settings path for non-configurable plugins (#12911)....
r10986 def test_get_non_configurable_plugin_settings
Redmine::Plugin.register(:foo) {}
get :plugin, :id => 'foo'
assert_response 404
Redmine::Plugin.clear
end
Jean-Philippe Lang
Adds tests for plugin settings editing....
r7919 def test_post_plugin_settings
Setting.expects(:plugin_foo=).with({'sample_setting' => 'Value'}).returns(true)
Jean-Philippe Lang
Fix 500 error for requests to the settings path for non-configurable plugins (#12911)....
r10986 Redmine::Plugin.register(:foo) do
settings :partial => 'not blank' # so that configurable? is true
end
Jean-Philippe Lang
Adds tests for plugin settings editing....
r7919
post :plugin, :id => 'foo', :settings => {'sample_setting' => 'Value'}
assert_redirected_to '/settings/plugin/foo'
end
Jean-Philippe Lang
Fix 500 error for requests to the settings path for non-configurable plugins (#12911)....
r10986
def test_post_non_configurable_plugin_settings
Redmine::Plugin.register(:foo) {}
post :plugin, :id => 'foo', :settings => {'sample_setting' => 'Value'}
assert_response 404
Redmine::Plugin.clear
end
Jean-Philippe Lang
Admin settings screen split to tabs....
r1033 end