Skip to content

Commit 4687fb3

Browse files
committed
Return dose sequence in StatusGenerator
1 parent 27b6685 commit 4687fb3

2 files changed

Lines changed: 37 additions & 10 deletions

File tree

app/lib/status_generator/vaccination.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,6 @@ def disease_types
5959

6060
def dose_sequence
6161
# TODO: Implement this for multi-dose HPV and Td/IPV in a more generic way.
62-
return unless programme.mmr?
63-
6462
return unless status_should_be_due? || status_should_be_eligible?
6563

6664
valid_vaccination_records.count + 1

spec/lib/status_generator/vaccination_spec.rb

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -606,17 +606,16 @@
606606
describe "#dose_sequence" do
607607
subject(:dose_sequence) { generator.dose_sequence }
608608

609-
it { should be_nil }
609+
let(:patient) do
610+
create(:patient, :consent_given_triage_not_needed, session:)
611+
end
612+
let(:session) { create(:session, programmes: [programme]) }
610613

611-
context "for MMR programme" do
612-
let(:programme) { Programme.mmr }
613-
let(:session) { create(:session, programmes: [programme]) }
614-
let(:patient) do
615-
create(:patient, :consent_given_triage_not_needed, session:)
614+
shared_examples "with 0 and 1 vaccination records" do
615+
context "with no existing vaccination record" do
616+
it { should eq(1) }
616617
end
617618

618-
it { should eq(1) }
619-
620619
context "with an existing vaccination record" do
621620
before do
622621
create(:vaccination_record, patient:, programme:, dose_sequence: 1)
@@ -625,6 +624,36 @@
625624
it { should eq(2) }
626625
end
627626
end
627+
628+
context "for MMR programme" do
629+
let(:programme) { Programme.mmr }
630+
631+
include_examples "with 0 and 1 vaccination records"
632+
end
633+
634+
context "for HPV programme" do
635+
let(:programme) { Programme.hpv }
636+
637+
include_examples "with 0 and 1 vaccination records"
638+
end
639+
640+
context "for MenACWY programme" do
641+
let(:programme) { Programme.menacwy }
642+
643+
include_examples "with 0 and 1 vaccination records"
644+
end
645+
646+
context "for Td/IPV programme" do
647+
let(:programme) { Programme.td_ipv }
648+
649+
include_examples "with 0 and 1 vaccination records"
650+
end
651+
652+
context "for flu programme" do
653+
let(:programme) { Programme.flu }
654+
655+
include_examples "with 0 and 1 vaccination records"
656+
end
628657
end
629658

630659
describe "#latest_date" do

0 commit comments

Comments
 (0)