mirror of
https://github.com/opf/openproject.git
synced 2026-06-14 03:30:14 +00:00
Change custom_value_for to return values based on the multi_value? only
This commit is contained in:
@@ -118,8 +118,6 @@ module Exports::PDF::Components::WpTable
|
||||
list = key.map { |v| v&.value }
|
||||
if list.empty?
|
||||
nil
|
||||
elsif list.length == 1
|
||||
list.first
|
||||
else
|
||||
list
|
||||
end
|
||||
|
||||
@@ -167,7 +167,7 @@ module Redmine
|
||||
|
||||
values = custom_field_values.select { |v| v.custom_field_id == custom_field.id }
|
||||
|
||||
if values.size > 1 && custom_field.multi_value?
|
||||
if custom_field.multi_value?
|
||||
values.sort_by { |v| v.id.to_i } # need to cope with nil
|
||||
else
|
||||
values.first
|
||||
|
||||
@@ -144,7 +144,7 @@ RSpec.describe "Custom field filter in boards",
|
||||
|
||||
# Expect custom field to be unchanged
|
||||
work_package.reload
|
||||
cv = work_package.custom_value_for(custom_field).typed_value
|
||||
expect(cv).to eq "B"
|
||||
cv = work_package.custom_value_for(custom_field).map(&:typed_value)
|
||||
expect(cv).to eq ["B"]
|
||||
end
|
||||
end
|
||||
|
||||
@@ -77,12 +77,11 @@ RSpec.describe "multi version custom field", :js do
|
||||
|
||||
work_package.reload
|
||||
|
||||
# only one value, so no array
|
||||
cvs = work_package
|
||||
.custom_value_for(custom_field)
|
||||
.typed_value
|
||||
.map(&:typed_value)
|
||||
|
||||
expect(cvs).to eq version_old
|
||||
expect(cvs).to eq [version_old]
|
||||
end
|
||||
|
||||
context "with existing version values" do
|
||||
|
||||
@@ -133,12 +133,11 @@ RSpec.describe "support for non-open version values in version custom field", :j
|
||||
|
||||
work_package.reload
|
||||
|
||||
# only one value, so no array
|
||||
cvs = work_package
|
||||
.custom_value_for(custom_field)
|
||||
.typed_value
|
||||
.map(&:typed_value)
|
||||
|
||||
expect(cvs).to eq version_closed
|
||||
expect(cvs).to eq [version_closed]
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -75,10 +75,8 @@ RSpec.describe WorkPackage do
|
||||
let(:work_package) { create(:work_package, project:, type:) }
|
||||
|
||||
it "returns nil properly" do
|
||||
# I suspect this should rather be
|
||||
# expect(values.map(&:value)).to eq([nil])
|
||||
expect(values.value).to be_nil
|
||||
expect(typed_values).to be_nil
|
||||
expect(values.map(&:value)).to eq([nil])
|
||||
expect(typed_values).to eq([nil])
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user