From e4dc496b89096874f00dba64b8540674c6546e05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Wed, 13 Jan 2016 13:07:03 +0100 Subject: [PATCH] adds geozone_select_options helper method --- app/helpers/geozones_helper.rb | 4 ++++ app/views/spending_proposals/_form.html.erb | 2 +- spec/helpers/geozones_helper_spec.rb | 14 ++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/helpers/geozones_helper.rb b/app/helpers/geozones_helper.rb index 974612a77..bfc5f9105 100644 --- a/app/helpers/geozones_helper.rb +++ b/app/helpers/geozones_helper.rb @@ -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 diff --git a/app/views/spending_proposals/_form.html.erb b/app/views/spending_proposals/_form.html.erb index 39b0e6e0a..4805b1bb4 100644 --- a/app/views/spending_proposals/_form.html.erb +++ b/app/views/spending_proposals/_form.html.erb @@ -19,7 +19,7 @@
<%= 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} %>
diff --git a/spec/helpers/geozones_helper_spec.rb b/spec/helpers/geozones_helper_spec.rb index 18e47208e..d85ff8753 100644 --- a/spec/helpers/geozones_helper_spec.rb +++ b/spec/helpers/geozones_helper_spec.rb @@ -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