diff --git a/app/models/dmsf_file.rb b/app/models/dmsf_file.rb index 1faab4dd..0708c956 100644 --- a/app/models/dmsf_file.rb +++ b/app/models/dmsf_file.rb @@ -119,9 +119,7 @@ class DmsfFile < ApplicationRecord end def approval_allowed_zero_minor - last_revision.minor_version.zero? if Setting.plugin_redmine_dmsf['only_approval_zero_minor_version'] - - true + Setting.plugin_redmine_dmsf['only_approval_zero_minor_version'] ? last_revision.minor_version&.zero? : true end def last_revision diff --git a/test/unit/dmsf_file_test.rb b/test/unit/dmsf_file_test.rb index 8d03e730..f6fea3ba 100644 --- a/test/unit/dmsf_file_test.rb +++ b/test/unit/dmsf_file_test.rb @@ -304,4 +304,22 @@ class DmsfFileTest < RedmineDmsf::Test::UnitTest assert f assert_equal @jsmith.id, f.last_revision.user_id, 'Author must be updated when copying' end + + def test_approval_allowed_zero_minor_yes + with_settings plugin_redmine_dmsf: { 'only_approval_zero_minor_version' => true } do + @file1.last_revision.minor_version = 0 + assert @file1.approval_allowed_zero_minor + @file1.last_revision.minor_version = 1 + assert_not @file1.approval_allowed_zero_minor + end + end + + def test_approval_allowed_zero_minor_no + with_settings plugin_redmine_dmsf: { 'only_approval_zero_minor_version' => nil } do + @file1.last_revision.minor_version = 0 + assert @file1.approval_allowed_zero_minor + @file1.last_revision.minor_version = 1 + assert @file1.approval_allowed_zero_minor + end + end end