adds geozone_select_options helper method
This commit is contained in:
@@ -4,4 +4,8 @@ module GeozonesHelper
|
||||
geozonable.geozone ? geozonable.geozone.name : t("geozones.none")
|
||||
end
|
||||
|
||||
def geozone_select_options
|
||||
Geozone.all.order(name: :asc).collect { |g| [ g.name, g.id ] }
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
<div class="small-12 column">
|
||||
<%= 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 class="small-12 column">
|
||||
|
||||
@@ -17,5 +17,19 @@ describe GeozonesHelper do
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user