[#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
|
||||
case source
|
||||
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)
|
||||
if polygon?
|
||||
if area > 0
|
||||
|
|
|
@ -143,6 +143,16 @@ RSpec.describe GeoArea, type: :model do
|
|||
it "should return the label" do
|
||||
expect(geo_area.label).to eq("Parcelle n° 42 - Feuille 000 A11 - 123 m² – commune 75127")
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue