adds geozone helper to map ids and names

This commit is contained in:
Juanjo Bazán
2016-08-03 20:20:52 +02:00
parent c4768e380d
commit 64a614c67f
2 changed files with 20 additions and 0 deletions

View File

@@ -8,4 +8,9 @@ module GeozonesHelper
Geozone.all.order(name: :asc).collect { |g| [ g.name, g.id ] }
end
def geozone_name_from_id(g_id)
@all_geozones ||= Geozone.all.collect{ |g| [ g.id, g.name ] }.to_h
@all_geozones[g_id] || t("geozones.none")
end
end

View File

@@ -31,4 +31,19 @@ describe GeozonesHelper do
end
end
describe "#geozone_name_from_id" do
it "returns geozone name if present" do
g1 = create(:geozone, name: "AAA")
g2 = create(:geozone, name: "BBB")
expect(geozone_name_from_id(g1.id)).to eq "AAA"
expect(geozone_name_from_id(g2.id)).to eq "BBB"
end
it "returns default string for no geozone if geozone is blank" do
expect(geozone_name_from_id(nil)).to eq "All city"
end
end
end