You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.7 KiB
66 lines
1.7 KiB
require "rails_helper" |
|
|
|
describe UprnDataPresenter do |
|
let(:data) do |
|
JSON.parse( |
|
'{ |
|
"UPRN": "UPRN", |
|
"UDPRN": "UDPRN", |
|
"ADDRESS": "full address", |
|
"SUB_BUILDING_NAME": "0", |
|
"BUILDING_NAME": "building name", |
|
"THOROUGHFARE_NAME": "thoroughfare", |
|
"POST_TOWN": "posttown", |
|
"POSTCODE": "postcode", |
|
"STATUS": "APPROVED", |
|
"DOUBLE_DEPENDENT_LOCALITY": "double dependent locality", |
|
"DEPENDENT_LOCALITY": "dependent locality", |
|
"CLASSIFICATION_CODE": "classification code", |
|
"LOCAL_CUSTODIAN_CODE_DESCRIPTION": "LONDON BOROUGH OF HARINGEY", |
|
"BLPU_STATE_CODE": "2", |
|
"BLPU_STATE_CODE_DESCRIPTION": "In use", |
|
"LAST_UPDATE_DATE": "31/07/2020", |
|
"ENTRY_DATE": "30/01/2015", |
|
"BLPU_STATE_DATE": "30/01/2015", |
|
"LANGUAGE": "EN", |
|
"MATCH_DESCRIPTION": "EXACT" |
|
}', |
|
) |
|
end |
|
|
|
let(:presenter) { described_class.new(data) } |
|
|
|
describe "#postcode" do |
|
it "returns postcode" do |
|
expect(presenter.postcode).to eq("postcode") |
|
end |
|
end |
|
|
|
describe "#address_line1" do |
|
it "returns address_line1" do |
|
expect(presenter.address_line1).to eq("0, Building Name, Thoroughfare") |
|
end |
|
end |
|
|
|
describe "#address_line2" do |
|
it "returns address_line2" do |
|
expect(presenter.address_line2).to eq("Double Dependent Locality, Dependent Locality") |
|
end |
|
end |
|
|
|
describe "#town_or_city" do |
|
it "returns town_or_city" do |
|
expect(presenter.town_or_city).to eq("Posttown") |
|
end |
|
end |
|
|
|
context "when address_line2 fields are missing" do |
|
let(:data) { {} } |
|
|
|
describe "#address_line2" do |
|
it "returns nil" do |
|
expect(presenter.address_line2).to be_nil |
|
end |
|
end |
|
end |
|
end
|
|
|