@ -1134,6 +1134,15 @@ RSpec.describe CaseLog do
end
end
def check_postcode_fields ( postcode_field , outcode_field , incode_field )
record_from_db = ActiveRecord :: Base . connection . execute ( " select #{ postcode_field } , #{ outcode_field } , #{ incode_field } from case_logs where id= #{ address_case_log . id } " ) . to_a [ 0 ]
expect ( address_case_log [ postcode_field ] ) . to eq ( " M11AE " )
expect ( record_from_db [ postcode_field ] ) . to eq ( " M11AE " )
expect ( address_case_log [ outcode_field ] ) . to eq ( " M1 " )
expect ( record_from_db [ outcode_field ] ) . to eq ( " M1 " )
expect ( address_case_log [ incode_field ] ) . to eq ( " 1AE " )
expect ( record_from_db [ incode_field ] ) . to eq ( " 1AE " )
end
context " when saving addresses " do
before do
stub_request ( :get , / api.postcodes.io / )
@ -1149,6 +1158,24 @@ RSpec.describe CaseLog do
} )
end
def check_property_postcode_fields
check_postcode_fields ( " postcode_full " , " postcode " , " postcod2 " )
end
it " correctly formats previous postcode " do
address_case_log . update! ( postcode_full : " M1 1AE " )
check_property_postcode_fields
address_case_log . update! ( postcode_full : " m1 1ae " )
check_property_postcode_fields
address_case_log . update! ( postcode_full : " m11Ae " )
check_property_postcode_fields
address_case_log . update! ( postcode_full : " m11ae " )
check_property_postcode_fields
end
it " correctly infers la " do
record_from_db = ActiveRecord :: Base . connection . execute ( " select la from case_logs where id= #{ address_case_log . id } " ) . to_a [ 0 ]
expect ( address_case_log . la ) . to eq ( " E08000003 " )
@ -1197,7 +1224,7 @@ RSpec.describe CaseLog do
address_case_log . update! ( { postcode_known : 1 , postcode_full : " M1 1AD " } )
record_from_db = ActiveRecord :: Base . connection . execute ( " select la, postcode_full from case_logs where id= #{ address_case_log . id } " ) . to_a [ 0 ]
expect ( record_from_db [ " postcode_full " ] ) . to eq ( " M1 1AD " )
expect ( record_from_db [ " postcode_full " ] ) . to eq ( " M11AD " )
expect ( address_case_log . la ) . to eq ( " E08000003 " )
expect ( record_from_db [ " la " ] ) . to eq ( " E08000003 " )
end
@ -1218,6 +1245,24 @@ RSpec.describe CaseLog do
} )
end
def check_previous_postcode_fields
check_postcode_fields ( " ppostcode_full " , " ppostc1 " , " ppostc2 " )
end
it " correctly formats previous postcode " do
address_case_log . update! ( ppostcode_full : " M1 1AE " )
check_previous_postcode_fields
address_case_log . update! ( ppostcode_full : " m1 1ae " )
check_previous_postcode_fields
address_case_log . update! ( ppostcode_full : " m11Ae " )
check_previous_postcode_fields
address_case_log . update! ( ppostcode_full : " m11ae " )
check_previous_postcode_fields
end
it " correctly infers prevloc " do
record_from_db = ActiveRecord :: Base . connection . execute ( " select prevloc from case_logs where id= #{ address_case_log . id } " ) . to_a [ 0 ]
expect ( address_case_log . prevloc ) . to eq ( " E08000003 " )
@ -1268,7 +1313,7 @@ RSpec.describe CaseLog do
address_case_log . update! ( { previous_postcode_known : 0 , ppostcode_full : " M1 1AD " } )
record_from_db = ActiveRecord :: Base . connection . execute ( " select prevloc, ppostcode_full from case_logs where id= #{ address_case_log . id } " ) . to_a [ 0 ]
expect ( record_from_db [ " ppostcode_full " ] ) . to eq ( " M1 1AD " )
expect ( record_from_db [ " ppostcode_full " ] ) . to eq ( " M11AD " )
expect ( address_case_log . prevloc ) . to eq ( " E08000003 " )
expect ( record_from_db [ " prevloc " ] ) . to eq ( " E08000003 " )
end