mirror of
https://github.com/meineerde/redmine.git
synced 2025-10-17 17:01:01 +00:00
Adds a few tests.
git-svn-id: http://svn.redmine.org/redmine/trunk@16940 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
5ae0eda632
commit
09e55e3e3a
@ -229,6 +229,14 @@ class MyControllerTest < Redmine::ControllerTest
|
||||
assert_select 'select[name=?]', 'user[language]'
|
||||
end
|
||||
|
||||
def test_my_account_with_avatar_enabled_should_link_to_edit_avatar
|
||||
with_settings :gravatar_enabled => '1' do
|
||||
get :account
|
||||
assert_response :success
|
||||
assert_select 'a[href=?] img.gravatar', 'https://gravatar.com'
|
||||
end
|
||||
end
|
||||
|
||||
def test_my_account_should_not_show_language_select_with_force_default_language_for_loggedin
|
||||
with_settings :force_default_language_for_loggedin => '1' do
|
||||
get :account
|
||||
|
||||
@ -64,6 +64,16 @@ class ProjectsControllerTest < Redmine::ControllerTest
|
||||
assert_equal 'text/javascript', response.content_type
|
||||
end
|
||||
|
||||
def test_autocomplete_js_with_blank_search_term
|
||||
get :autocomplete, :params => {
|
||||
:format => 'js',
|
||||
:q => ''
|
||||
},
|
||||
:xhr => true
|
||||
assert_response :success
|
||||
assert_equal 'text/javascript', response.content_type
|
||||
end
|
||||
|
||||
test "#index by non-admin user with view_time_entries permission should show overall spent time link" do
|
||||
@request.session[:user_id] = 3
|
||||
get :index
|
||||
|
||||
@ -59,6 +59,11 @@ class Redmine::ApiTest::TimeEntriesTest < Redmine::ApiTest::Base
|
||||
assert_select 'time_entry id', :text => '2'
|
||||
end
|
||||
|
||||
test "GET /time_entries/:id.xml with invalid id should 404" do
|
||||
get '/time_entries/999.xml', :headers => credentials('jsmith')
|
||||
assert_response 404
|
||||
end
|
||||
|
||||
test "POST /time_entries.xml with issue_id should create time entry" do
|
||||
assert_difference 'TimeEntry.count' do
|
||||
post '/time_entries.xml',
|
||||
@ -147,6 +152,14 @@ class Redmine::ApiTest::TimeEntriesTest < Redmine::ApiTest::Base
|
||||
assert_select 'errors error', :text => "Hours cannot be blank"
|
||||
end
|
||||
|
||||
test "PUT /time_entries/:id.xml without permissions should fail" do
|
||||
put '/time_entries/2.xml',
|
||||
:params => {:time_entry => {:hours => '2.3', :comments => 'API Update'}},
|
||||
:headers => credentials('dlopper')
|
||||
|
||||
assert_response 403
|
||||
end
|
||||
|
||||
test "DELETE /time_entries/:id.xml should destroy time entry" do
|
||||
assert_difference 'TimeEntry.count', -1 do
|
||||
delete '/time_entries/2.xml', :headers => credentials('jsmith')
|
||||
@ -155,4 +168,15 @@ class Redmine::ApiTest::TimeEntriesTest < Redmine::ApiTest::Base
|
||||
assert_equal '', @response.body
|
||||
assert_nil TimeEntry.find_by_id(2)
|
||||
end
|
||||
|
||||
test "DELETE /time_entries/:id.xml with failure should return errors" do
|
||||
TimeEntry.any_instance.stubs(:destroy).returns(false)
|
||||
|
||||
assert_no_difference 'TimeEntry.count' do
|
||||
delete '/time_entries/2.xml', :headers => credentials('jsmith')
|
||||
end
|
||||
assert_response :unprocessable_entity
|
||||
assert_equal 'application/xml', @response.content_type
|
||||
assert_select 'errors'
|
||||
end
|
||||
end
|
||||
|
||||
52
test/system/issues_import_test.rb
Normal file
52
test/system/issues_import_test.rb
Normal file
@ -0,0 +1,52 @@
|
||||
# encoding: utf-8
|
||||
#
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2017 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('../../application_system_test_case', __FILE__)
|
||||
|
||||
class IssuesImportTest < ApplicationSystemTestCase
|
||||
fixtures :projects, :users, :email_addresses, :roles, :members, :member_roles,
|
||||
:trackers, :projects_trackers, :enabled_modules, :issue_statuses, :issues,
|
||||
:enumerations, :custom_fields, :custom_values, :custom_fields_trackers,
|
||||
:watchers, :journals, :journal_details
|
||||
|
||||
def test_import_issues_without_failures
|
||||
log_user('jsmith', 'jsmith')
|
||||
visit '/issues'
|
||||
click_on 'Import'
|
||||
|
||||
attach_file 'file', Rails.root.join('test/fixtures/files/import_issues.csv')
|
||||
click_on 'Next »'
|
||||
|
||||
select 'Semicolon', :from => 'Field separator'
|
||||
select 'Double quote', :from => 'Field wrapper'
|
||||
select 'ISO-8859-1', :from => 'Encoding'
|
||||
select 'MM/DD/YYYY', :from => 'Date format'
|
||||
click_on 'Next »'
|
||||
|
||||
select 'eCookbook', :from => 'Project'
|
||||
select 'tracker', :from => 'Tracker'
|
||||
select 'status', :from => 'Status'
|
||||
select 'subject', :from => 'Subject'
|
||||
|
||||
assert_difference 'Issue.count', 3 do
|
||||
click_button 'Import'
|
||||
assert page.has_content?('3 items have been imported')
|
||||
end
|
||||
end
|
||||
end
|
||||
Loading…
x
Reference in New Issue
Block a user