From 9ae4e08ca685a75d304b8882e7852482552c4fc2 Mon Sep 17 00:00:00 2001 From: baarkerlounger Date: Thu, 10 Mar 2022 18:34:47 +0000 Subject: [PATCH] When answer option is mapped just display directly --- app/models/form/question.rb | 18 ++++++++++-------- spec/models/form/question_spec.rb | 12 ++++++++++++ 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/app/models/form/question.rb b/app/models/form/question.rb index 670ca9a3b..a6e1ec2b9 100644 --- a/app/models/form/question.rb +++ b/app/models/form/question.rb @@ -104,14 +104,16 @@ class Form::Question def label_from_value(value) return unless value - case type - when "radio" - answer_options[value.to_s]["value"] - when "select" - answer_options[value.to_s] - else - value.to_s - end + label = case type + when "radio" + labels = answer_options[value.to_s] + labels["value"] if labels + when "select" + answer_options[value.to_s] + else + value.to_s + end + label || value end def value_is_yes?(value) diff --git a/spec/models/form/question_spec.rb b/spec/models/form/question_spec.rb index 83fe9cc88..2f2a65218 100644 --- a/spec/models/form/question_spec.rb +++ b/spec/models/form/question_spec.rb @@ -115,6 +115,12 @@ RSpec.describe Form::Question, type: :model do expect(question).to be_value_is_dont_know(7) end end + + context "when the saved answer is not in the value map" do + it "displays the saved answer umapped" do + expect(question.label_from_value(9999)).to eq(9999) + end + end end context "when type is select" do @@ -130,6 +136,12 @@ RSpec.describe Form::Question, type: :model do it "can map label from value" do expect(question.label_from_value("E06000014")).to eq("York") end + + context "when the saved answer is not in the value map" do + it "displays the saved answer umapped" do + expect(question.label_from_value(9999)).to eq(9999) + end + end end context "when type is checkbox" do