diff options
author | Go MAEDA <maeda@farend.jp> | 2025-01-15 08:19:49 +0000 |
---|---|---|
committer | Go MAEDA <maeda@farend.jp> | 2025-01-15 08:19:49 +0000 |
commit | ff33c2408b415736b6975c77ca933639c5e70293 (patch) | |
tree | 318e24db0b249abf13e59bdab326d73b2c5919a8 | |
parent | 20b0be83dbe51dec06770481aa00a2f249726c88 (diff) | |
download | redmine-ff33c2408b415736b6975c77ca933639c5e70293.tar.gz redmine-ff33c2408b415736b6975c77ca933639c5e70293.zip |
Merged r23431 from trunk to 6.0-stable (#42066).
git-svn-id: https://svn.redmine.org/redmine/branches/6.0-stable@23435 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | app/models/issue_priority.rb | 8 | ||||
-rw-r--r-- | test/unit/issue_priority_test.rb | 16 |
2 files changed, 22 insertions, 2 deletions
diff --git a/app/models/issue_priority.rb b/app/models/issue_priority.rb index d60098c06..1bad524dc 100644 --- a/app/models/issue_priority.rb +++ b/app/models/issue_priority.rb @@ -60,11 +60,15 @@ class IssuePriority < Enumeration end def high? - position > self.class.default_or_middle.position + return false unless (baseline_position = self.class.default_or_middle&.position) + + position > baseline_position end def low? - position < self.class.default_or_middle.position + return false unless (baseline_position = self.class.default_or_middle&.position) + + position < baseline_position end # Updates position_name for active priorities diff --git a/test/unit/issue_priority_test.rb b/test/unit/issue_priority_test.rb index e076afe67..80dc11e1c 100644 --- a/test/unit/issue_priority_test.rb +++ b/test/unit/issue_priority_test.rb @@ -156,4 +156,20 @@ class IssuePriorityTest < ActiveSupport::TestCase IssuePriority.find_by_position_name('highest').destroy assert_equal %w(lowest default high2 highest), IssuePriority.active.to_a.sort.map(&:position_name) end + + def test_high_should_return_false_when_no_default_priority_and_no_active_priorities + IssuePriority.update_all(active: false, is_default: false) + priority = IssuePriority.order(:position).last # Highest priority + assert_nothing_raised do + assert_equal false, priority.high? + end + end + + def test_low_should_return_false_when_no_default_priority_and_no_active_priorities + IssuePriority.update_all(active: false, is_default: false) + priority = IssuePriority.order(:position).first # Lowest priority + assert_nothing_raised do + assert_equal false, priority.low? + end + end end |