|
38 | 38 | "PERSON_GENDER_CODE" => "Male",
|
39 | 39 | "NHS_NUMBER" => nhs_number,
|
40 | 40 | "DATE_OF_VACCINATION" => "20240101",
|
41 |
| - "VACCINE_GIVEN" => "AstraZeneca Fluenz Tetra LAIV" |
| 41 | + "VACCINE_GIVEN" => "AstraZeneca Fluenz Tetra LAIV", |
| 42 | + "PERFORMING_PROFESSIONAL_FORENAME" => "John", |
| 43 | + "PERFORMING_PROFESSIONAL_SURNAME" => "Smith" |
42 | 44 | }
|
43 | 45 | end
|
44 | 46 |
|
|
218 | 220 | "PERSON_POSTCODE" => "SW1A 1AA",
|
219 | 221 | "PERSON_GENDER_CODE" => "Male",
|
220 | 222 | "DATE_OF_VACCINATION" => "20240101",
|
221 |
| - "VACCINE_GIVEN" => "AstraZeneca Fluenz Tetra LAIV" |
| 223 | + "VACCINE_GIVEN" => "AstraZeneca Fluenz Tetra LAIV", |
| 224 | + "PERFORMING_PROFESSIONAL_FORENAME" => "John", |
| 225 | + "PERFORMING_PROFESSIONAL_SURNAME" => "Smith" |
| 226 | + } |
| 227 | + end |
| 228 | + |
| 229 | + it { should be_valid } |
| 230 | + end |
| 231 | + |
| 232 | + context "with valid fields for HPV" do |
| 233 | + let(:campaign) { create(:campaign, :hpv, academic_year: 2023) } |
| 234 | + |
| 235 | + let(:data) do |
| 236 | + { |
| 237 | + "ORGANISATION_CODE" => "abc", |
| 238 | + "BATCH_EXPIRY_DATE" => "20210101", |
| 239 | + "BATCH_NUMBER" => "123", |
| 240 | + "ANATOMICAL_SITE" => "left thigh", |
| 241 | + "SCHOOL_NAME" => "Hogwarts", |
| 242 | + "SCHOOL_URN" => "123456", |
| 243 | + "PERSON_FORENAME" => "Harry", |
| 244 | + "PERSON_SURNAME" => "Potter", |
| 245 | + "PERSON_DOB" => "20120101", |
| 246 | + "PERSON_POSTCODE" => "SW1A 1AA", |
| 247 | + "PERSON_GENDER_CODE" => "Male", |
| 248 | + "DATE_OF_VACCINATION" => "20240101", |
| 249 | + "VACCINE_GIVEN" => "Gardasil9", |
| 250 | + "DOSE_SEQUENCE" => "1", |
| 251 | + "CARE_SETTING" => "1" |
222 | 252 | }
|
223 | 253 | end
|
224 | 254 |
|
|
829 | 859 | end
|
830 | 860 | end
|
831 | 861 |
|
| 862 | + describe "#performed_by_given_name" do |
| 863 | + subject(:performed_by_given_name) do |
| 864 | + immunisation_import_row.performed_by_given_name |
| 865 | + end |
| 866 | + |
| 867 | + context "without a value" do |
| 868 | + let(:data) { {} } |
| 869 | + |
| 870 | + it { should be_nil } |
| 871 | + end |
| 872 | + |
| 873 | + context "with a value" do |
| 874 | + let(:data) { { "PERFORMING_PROFESSIONAL_FORENAME" => "John" } } |
| 875 | + |
| 876 | + it { should eq("John") } |
| 877 | + end |
| 878 | + end |
| 879 | + |
| 880 | + describe "#performed_by_family_name" do |
| 881 | + subject(:performed_by_family_name) do |
| 882 | + immunisation_import_row.performed_by_family_name |
| 883 | + end |
| 884 | + |
| 885 | + context "without a value" do |
| 886 | + let(:data) { {} } |
| 887 | + |
| 888 | + it { should be_nil } |
| 889 | + end |
| 890 | + |
| 891 | + context "with a value" do |
| 892 | + let(:data) { { "PERFORMING_PROFESSIONAL_SURNAME" => "Smith" } } |
| 893 | + |
| 894 | + it { should eq("Smith") } |
| 895 | + end |
| 896 | + end |
| 897 | + |
832 | 898 | describe "#to_vaccination_record" do
|
833 | 899 | subject(:vaccination_record) do
|
834 | 900 | immunisation_import_row.to_vaccination_record
|
835 | 901 | end
|
836 | 902 |
|
837 | 903 | let(:data) { valid_data }
|
838 | 904 |
|
839 |
| - it "does not have a vaccinator as that isn't provided in the import" do |
840 |
| - expect(vaccination_record.performed_by).to be_nil |
| 905 | + it "has a vaccinator" do |
| 906 | + expect(vaccination_record.performed_by).to have_attributes( |
| 907 | + full_name: "John Smith" |
| 908 | + ) |
841 | 909 | end
|
842 | 910 |
|
843 | 911 | it "sets the administered at time" do
|
|
0 commit comments