summaryrefslogtreecommitdiffstats
path: root/test/functional
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2017-04-03 09:33:27 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2017-04-03 09:33:27 +0000
commit2879071f3b73e597b8b0eca490e8710a9de8dbca (patch)
tree1c2388093f9b0916f609ca4e006d25ec44655587 /test/functional
parent1ab58b6aa580326f6841cd897fc1675bd2c5cb82 (diff)
downloadredmine-2879071f3b73e597b8b0eca490e8710a9de8dbca.tar.gz
redmine-2879071f3b73e597b8b0eca490e8710a9de8dbca.zip
Timelog move between projects (#588).
Patch by Marius BALTEANU. git-svn-id: http://svn.redmine.org/redmine/trunk@16450 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/functional')
-rw-r--r--test/functional/timelog_controller_test.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/test/functional/timelog_controller_test.rb b/test/functional/timelog_controller_test.rb
index baad0c95d..ead919006 100644
--- a/test/functional/timelog_controller_test.rb
+++ b/test/functional/timelog_controller_test.rb
@@ -125,6 +125,14 @@ class TimelogControllerTest < Redmine::ControllerTest
assert_select 'option', :text => '--- Please select ---'
end
+ def test_get_edit_should_show_projects_select
+ @request.session[:user_id] = 2
+ get :edit, :params => {:id => 2, :project_id => nil}
+ assert_response :success
+
+ assert_select 'select[name=?]', 'time_entry[project_id]'
+ end
+
def test_post_create
@request.session[:user_id] = 3
assert_difference 'TimeEntry.count' do
@@ -489,6 +497,37 @@ class TimelogControllerTest < Redmine::ControllerTest
assert_select_error /Issue is invalid/
end
+ def test_update_should_allow_to_change_project
+ entry = TimeEntry.generate!(:project_id => 1)
+
+ @request.session[:user_id] = 1
+ put :update, :params => {
+ :id => entry.id,
+ :time_entry => {
+ :project_id => '2'
+ }
+ }
+ assert_response 302
+ entry.reload
+
+ assert_equal 2, entry.project_id
+ end
+
+ def test_update_should_fail_with_issue_from_another_project
+ entry = TimeEntry.generate!(:project_id => 1, :issue_id => 1)
+
+ @request.session[:user_id] = 1
+ put :update, :params => {
+ :id => entry.id,
+ :time_entry => {
+ :project_id => '2'
+ }
+ }
+
+ assert_response :success
+ assert_select_error /Issue is invalid/
+ end
+
def test_get_bulk_edit
@request.session[:user_id] = 2