diff --git a/lib/census_api.rb b/lib/census_api.rb index 44bd69ac3..d010c66db 100644 --- a/lib/census_api.rb +++ b/lib/census_api.rb @@ -119,8 +119,4 @@ class CensusApi {get_habita_datos_response: {get_habita_datos_return: {datos_habitante: {}, datos_vivienda: {}}}} end - def dni?(document_type) - document_type.to_s == "1" - end - end diff --git a/lib/document_parser.rb b/lib/document_parser.rb index 8e043dd20..73130d34c 100644 --- a/lib/document_parser.rb +++ b/lib/document_parser.rb @@ -57,4 +57,9 @@ module DocumentParser end variants end + + def dni?(document_type) + document_type.to_s == "1" + end + end diff --git a/lib/local_census.rb b/lib/local_census.rb index 1a0428787..fc309730a 100644 --- a/lib/local_census.rb +++ b/lib/local_census.rb @@ -63,8 +63,4 @@ class LocalCensus LocalCensusRecord.find_by(document_type: document_type, document_number: document_number) end - def dni?(document_type) - document_type.to_s == "1" - end - end diff --git a/spec/lib/census_api_spec.rb b/spec/lib/census_api_spec.rb index 32df56587..ce1e57a92 100644 --- a/spec/lib/census_api_spec.rb +++ b/spec/lib/census_api_spec.rb @@ -3,30 +3,6 @@ require "rails_helper" describe CensusApi do let(:api) { described_class.new } - describe "#get_document_number_variants" do - it "trims and cleans up entry" do - expect(api.get_document_number_variants(2, " 1 2@ 34")).to eq(["1234"]) - end - - it "returns only one try for passports & residence cards" do - expect(api.get_document_number_variants(2, "1234")).to eq(["1234"]) - expect(api.get_document_number_variants(3, "1234")).to eq(["1234"]) - end - - it "takes only the last 8 digits for dnis and resicence cards" do - expect(api.get_document_number_variants(1, "543212345678")).to eq(["12345678"]) - end - - it "tries all the dni variants padding with zeroes" do - expect(api.get_document_number_variants(1, "0123456")).to eq(["123456", "0123456", "00123456"]) - expect(api.get_document_number_variants(1, "00123456")).to eq(["123456", "0123456", "00123456"]) - end - - it "adds upper and lowercase letter when the letter is present" do - expect(api.get_document_number_variants(1, "1234567A")).to eq(%w(1234567 01234567 1234567a 1234567A 01234567a 01234567A)) - end - end - describe "#call" do let(:invalid_body) { {get_habita_datos_response: {get_habita_datos_return: {datos_habitante: {}}}} } let(:valid_body) do diff --git a/spec/lib/document_parser_spec.rb b/spec/lib/document_parser_spec.rb new file mode 100644 index 000000000..631983abc --- /dev/null +++ b/spec/lib/document_parser_spec.rb @@ -0,0 +1,30 @@ +require "rails_helper" +include DocumentParser + +describe DocumentParser do + + describe "#get_document_number_variants" do + it "trims and cleans up entry" do + expect(DocumentParser.get_document_number_variants(2, " 1 2@ 34")).to eq(["1234"]) + end + + it "returns only one try for passports & residence cards" do + expect(DocumentParser.get_document_number_variants(2, "1234")).to eq(["1234"]) + expect(DocumentParser.get_document_number_variants(3, "1234")).to eq(["1234"]) + end + + it "takes only the last 8 digits for dnis and resicence cards" do + expect(DocumentParser.get_document_number_variants(1, "543212345678")).to eq(["12345678"]) + end + + it "tries all the dni variants padding with zeroes" do + expect(DocumentParser.get_document_number_variants(1, "0123456")).to eq(["123456", "0123456", "00123456"]) + expect(DocumentParser.get_document_number_variants(1, "00123456")).to eq(["123456", "0123456", "00123456"]) + end + + it "adds upper and lowercase letter when the letter is present" do + expect(DocumentParser.get_document_number_variants(1, "1234567A")).to eq(%w(1234567 01234567 1234567a 1234567A 01234567a 01234567A)) + end + end + +end diff --git a/spec/lib/local_census_spec.rb b/spec/lib/local_census_spec.rb index abe7a2b32..bb598975f 100644 --- a/spec/lib/local_census_spec.rb +++ b/spec/lib/local_census_spec.rb @@ -3,30 +3,6 @@ require "rails_helper" describe LocalCensus do let(:api) { described_class.new } - describe "#get_document_number_variants" do - it "trims and cleans up entry" do - expect(api.get_document_number_variants(2, " 1 2@ 34")).to eq(["1234"]) - end - - it "returns only one try for passports & residence cards" do - expect(api.get_document_number_variants(2, "1234")).to eq(["1234"]) - expect(api.get_document_number_variants(3, "1234")).to eq(["1234"]) - end - - it "takes only the last 8 digits for dnis and resicence cards" do - expect(api.get_document_number_variants(1, "543212345678")).to eq(["12345678"]) - end - - it "tries all the dni variants padding with zeroes" do - expect(api.get_document_number_variants(1, "0123456")).to eq(["123456", "0123456", "00123456"]) - expect(api.get_document_number_variants(1, "00123456")).to eq(["123456", "0123456", "00123456"]) - end - - it "adds upper and lowercase letter when the letter is present" do - expect(api.get_document_number_variants(1, "1234567A")).to eq(["1234567", "01234567", "1234567a", "1234567A", "01234567a", "01234567A"]) - end - end - describe "#call" do let(:invalid_body) { nil } let(:valid_body) { create(:local_census_record) }