Fix time entry activity is not set as default when the default activity exists as project specific activity (#33914).

Patch by Mizuki ISHIKAWA.


git-svn-id: https://svn.redmine.org/redmine/trunk@21668 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Marius Balteanu
2022-06-20 15:26:47 +00:00
parent e0f0f2c210
commit bfcb1b0054
4 changed files with 35 additions and 1 deletions

View File

@@ -219,4 +219,16 @@ class TimeEntryActivityTest < ActiveSupport::TestCase
)
end
end
def test_default_should_return_default_activity_if_default_activity_is_included_in_the_project_activities
project = Project.find(1)
assert_equal TimeEntryActivity.default(project).id, 10
end
def test_default_should_return_project_specific_default_activity_if_default_activity_is_not_included_in_the_project_activities
project = Project.find(1)
project_specific_default_activity = TimeEntryActivity.create!(name: 'Development', parent_id: 10, project_id: project.id, is_default: false)
assert_not_equal TimeEntryActivity.default(project).id, 10
assert_equal TimeEntryActivity.default(project).id, project_specific_default_activity.id
end
end

View File

@@ -126,6 +126,19 @@ class TimeEntryTest < ActiveSupport::TestCase
end
end
def test_activity_id_should_default_activity_id
project = Project.find(1)
default_activity = TimeEntryActivity.find(10)
entry = TimeEntry.new(project: project)
assert_equal entry.activity_id, default_activity.id
# If there are project specific activities
project_specific_default_activity = TimeEntryActivity.create!(name: 'Development', parent_id: 10, project_id: project.id, is_default: false)
entry = TimeEntry.new(project: project)
assert_not_equal entry.activity_id, default_activity.id
assert_equal entry.activity_id, project_specific_default_activity.id
end
def test_should_accept_future_dates
entry = TimeEntry.generate
entry.spent_on = User.current.today + 1