adds geozone_select_options helper method

This commit is contained in:
Juanjo Bazán
2016-01-13 13:07:03 +01:00
parent 9a31795615
commit e4dc496b89
3 changed files with 19 additions and 1 deletions

View File

@@ -4,4 +4,8 @@ module GeozonesHelper
geozonable.geozone ? geozonable.geozone.name : t("geozones.none") geozonable.geozone ? geozonable.geozone.name : t("geozones.none")
end end
def geozone_select_options
Geozone.all.order(name: :asc).collect { |g| [ g.name, g.id ] }
end
end end

View File

@@ -19,7 +19,7 @@
<div class="small-12 column"> <div class="small-12 column">
<%= f.label :geozone_id, t("spending_proposals.form.geozone") %> <%= f.label :geozone_id, t("spending_proposals.form.geozone") %>
<%= f.select :geozone_id, Geozone.all.collect { |g| [ g.name, g.id ] }, {include_blank: t("geozones.none"), label: false} %> <%= f.select :geozone_id, geozone_select_options, {include_blank: t("geozones.none"), label: false} %>
</div> </div>
<div class="small-12 column"> <div class="small-12 column">

View File

@@ -17,5 +17,19 @@ describe GeozonesHelper do
end end
end end
describe "#geozone_select_options" do
it "returns array of ids and names ordered by name" do
g1 = create(:geozone, name: "AAA")
g3 = create(:geozone, name: "CCC")
g2 = create(:geozone, name: "BBB")
select_options = geozone_select_options
expect(select_options.size).to eq 3
expect(select_options.first).to eq [g1.name, g1.id]
expect(select_options[1]).to eq [g2.name, g2.id]
expect(select_options.last).to eq [g3.name, g3.id]
end
end
end end