Commit 234e9205 authored by jplang's avatar jplang

Adds a few tests.

git-svn-id: https://svn.redmine.org/redmine/trunk@16940 e93f8b46-1217-0410-a6f0-8f06a7374b81
parent 247870ee
......@@ -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
# 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
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment