Skip to content

Commit b40c712

Browse files
authored
Merge pull request #6560 from NHSDigital/fix-mmr-upload-dose-sequence
Fix MMR dose sequence validation error message
2 parents d3c8b81 + 9035a26 commit b40c712

2 files changed

Lines changed: 20 additions & 2 deletions

File tree

app/models/immunisation_import_row.rb

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -845,12 +845,18 @@ def validate_dose_sequence
845845

846846
field = dose_sequence || combined_vaccination_and_dose_sequence
847847

848+
dose_sequence_examples =
849+
(1..maximum_dose_sequence).to_a.to_sentence(
850+
last_word_connector: " or ",
851+
two_words_connector: " or "
852+
)
853+
848854
if dose_sequence.present? ||
849855
parsed_vaccination_description_string&.dig(:dose_sequence).present?
850856
if dose_sequence_value.nil?
851857
errors.add(
852858
field.header,
853-
"Enter a dose sequence number, for example, 1, 2 or 3."
859+
"Enter a dose sequence number, for example, #{dose_sequence_examples}."
854860
)
855861
elsif maximum_dose_sequence
856862
if dose_sequence_value < 1
@@ -875,7 +881,7 @@ def validate_dose_sequence
875881
else
876882
errors.add(
877883
field.header,
878-
"Enter a dose sequence number, for example, 1, 2 or 3. The dose sequence number cannot be greater than 6."
884+
"Enter a dose sequence number, for example, #{dose_sequence_examples}."
879885
)
880886
end
881887
end

spec/models/immunisation_import_row_spec.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,18 @@
575575
end
576576
end
577577

578+
context "with an invalid dose sequence for MMR" do
579+
let(:programmes) { [Programme.mmr] }
580+
let(:data) { { "PROGRAMME" => "MMR", "DOSE_SEQUENCE" => "unknown" } }
581+
582+
it "has the correct error message" do
583+
immunisation_import_row.valid?
584+
expect(immunisation_import_row.errors["DOSE_SEQUENCE"]).to include(
585+
"Enter a dose sequence number, for example, 1 or 2."
586+
)
587+
end
588+
end
589+
578590
context "with an invalid dose sequence" do
579591
let(:programmes) { [Programme.hpv] }
580592

0 commit comments

Comments
 (0)