From a6133955f9d22c408b4a1550eed1791cd07aaac8 Mon Sep 17 00:00:00 2001 From: Jillian Tullo Date: Wed, 29 Nov 2017 11:18:54 -0500 Subject: [PATCH] Parse default value in Service Dialog When serializing the dialog, it should return an array of values rather than a string if force_multi_value is true --- app/models/dialog_field_serializer.rb | 4 ++++ spec/models/dialog_field_serializer_spec.rb | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/models/dialog_field_serializer.rb b/app/models/dialog_field_serializer.rb index 20fa7b97c1b..2af3ee59528 100644 --- a/app/models/dialog_field_serializer.rb +++ b/app/models/dialog_field_serializer.rb @@ -16,6 +16,10 @@ def serialize(dialog_field, all_attributes = false) "dialog_field_responders" => dialog_field.dialog_field_responders.map(&:name) } + if dialog_field.try(:force_multi_value) && dialog_field.default_value.present? + extra_attributes["default_value"] = dialog_field.default_value.split(",") + end + if dialog_field.dynamic? dynamic_values = dialog_field.trigger_automate_value_updates extra_attributes["values"] = dynamic_values diff --git a/spec/models/dialog_field_serializer_spec.rb b/spec/models/dialog_field_serializer_spec.rb index c756e6beaad..2470a91d139 100644 --- a/spec/models/dialog_field_serializer_spec.rb +++ b/spec/models/dialog_field_serializer_spec.rb @@ -138,7 +138,10 @@ allow(dialog_field).to receive(:values).and_return("values") end - it "serializes the category name and description" do + it "serializes the category name, description and default value" do + default_values = "one,two" + dialog_field.update_attributes(:default_value => default_values) + expect(dialog_field_serializer.serialize(dialog_field)) .to eq(expected_serialized_values.merge( "resource_action" => "serialized resource action", @@ -147,7 +150,8 @@ :category_id => "123", :category_name => "best category ever", :category_description => "best category ever" - } + }, + "default_value" => %w(one two) )) end end