We settled on using this style in commit 4cbe81a1, but didn't add the
rule enforcing this style and we didn't apply it to existing code.
44 lines
1.4 KiB
Ruby
44 lines
1.4 KiB
Ruby
require "rails_helper"
|
|
|
|
describe CensusApi do
|
|
let(:api) { CensusApi.new }
|
|
|
|
describe "#call" do
|
|
let(:invalid_body) { { get_habita_datos_response: { get_habita_datos_return: { datos_habitante: {}}}} }
|
|
let(:valid_body) do
|
|
{
|
|
get_habita_datos_response: {
|
|
get_habita_datos_return: {
|
|
datos_habitante: {
|
|
item: {
|
|
fecha_nacimiento_string: "1-1-1980"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
end
|
|
|
|
it "returns the response for the first valid variant" do
|
|
allow(api).to receive(:get_response_body).with(1, "00123456").and_return(invalid_body)
|
|
allow(api).to receive(:get_response_body).with(1, "123456").and_return(invalid_body)
|
|
allow(api).to receive(:get_response_body).with(1, "0123456").and_return(valid_body)
|
|
|
|
response = api.call(1, "123456")
|
|
|
|
expect(response).to be_valid
|
|
expect(response.date_of_birth).to eq(Date.new(1980, 1, 1))
|
|
end
|
|
|
|
it "returns the last failed response" do
|
|
allow(api).to receive(:get_response_body).with(1, "00123456").and_return(invalid_body)
|
|
allow(api).to receive(:get_response_body).with(1, "123456").and_return(invalid_body)
|
|
allow(api).to receive(:get_response_body).with(1, "0123456").and_return(invalid_body)
|
|
response = api.call(1, "123456")
|
|
|
|
expect(response).not_to be_valid
|
|
end
|
|
end
|
|
|
|
end
|