Allow dashes in postal codes
In some countries, postal codes are defined with a dash in the middle, so we're using a colon to define ranges instead. We could also use two dots, like in Ruby ranges, but IMHO this would cause typos since people would enter codes separated with three dots or just one dot.
This commit is contained in:
@@ -49,7 +49,7 @@ describe Verification::Residence do
|
||||
|
||||
describe "postal code" do
|
||||
before do
|
||||
Setting["postal_codes"] = "28001-28100,28200"
|
||||
Setting["postal_codes"] = "28001:28100,28200,28303-455"
|
||||
|
||||
census_data = double(valid?: true, district_code: "", gender: "")
|
||||
allow(census_data).to receive(:postal_code) { residence.postal_code }
|
||||
@@ -69,6 +69,9 @@ describe Verification::Residence do
|
||||
|
||||
residence.postal_code = "28200"
|
||||
expect(residence).to be_valid
|
||||
|
||||
residence.postal_code = "28303-455"
|
||||
expect(residence).to be_valid
|
||||
end
|
||||
|
||||
it "uses string ranges and not integer ranges" do
|
||||
@@ -102,6 +105,12 @@ describe Verification::Residence do
|
||||
residence.postal_code = "28000"
|
||||
expect(residence).not_to be_valid
|
||||
|
||||
residence.postal_code = "28303-454"
|
||||
expect(residence).not_to be_valid
|
||||
|
||||
residence.postal_code = "28303"
|
||||
expect(residence).not_to be_valid
|
||||
|
||||
residence.postal_code = "28101"
|
||||
expect(residence).not_to be_valid
|
||||
expect(residence.errors.count).to eq 1
|
||||
|
||||
Reference in New Issue
Block a user