[#10919] When data in geo_area is invalid do not crash when .label is called
This commit is contained in:
parent
1cd4c7a885
commit
49c9f274e4
2 changed files with 11 additions and 1 deletions
|
@ -65,7 +65,7 @@ class GeoArea < ApplicationRecord
|
||||||
def label
|
def label
|
||||||
case source
|
case source
|
||||||
when GeoArea.sources.fetch(:cadastre)
|
when GeoArea.sources.fetch(:cadastre)
|
||||||
I18n.t("cadastre", scope: 'geo_area.label', numero: numero, prefixe: prefixe, section: section, surface: surface.round, commune: commune)
|
I18n.t("cadastre", scope: 'geo_area.label', numero: numero, prefixe: prefixe, section: section, surface: surface&.round, commune: commune)
|
||||||
when GeoArea.sources.fetch(:selection_utilisateur)
|
when GeoArea.sources.fetch(:selection_utilisateur)
|
||||||
if polygon?
|
if polygon?
|
||||||
if area > 0
|
if area > 0
|
||||||
|
|
|
@ -143,6 +143,16 @@ RSpec.describe GeoArea, type: :model do
|
||||||
it "should return the label" do
|
it "should return the label" do
|
||||||
expect(geo_area.label).to eq("Parcelle n° 42 - Feuille 000 A11 - 123 m² – commune 75127")
|
expect(geo_area.label).to eq("Parcelle n° 42 - Feuille 000 A11 - 123 m² – commune 75127")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "when area is nil" do
|
||||||
|
let(:geo_area) { build(:geo_area, :selection_utilisateur, :cadastre, properties: { "description" => "48°51'45.81\"N 2°17'15,33\"E" }, geometry: { "type" => "Point", "coordinates" => [7.754444, 48.610556] }, champ: nil) }
|
||||||
|
|
||||||
|
before { allow(geo_area).to receive(:area).and_return(nil) }
|
||||||
|
|
||||||
|
it "should not crash" do
|
||||||
|
expect(geo_area.label).to eq("Parcelle n° - Feuille - m² – commune ")
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue