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")
|
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
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user