From 23e325896f4579b28810bdd3a15c51a23cba3be7 Mon Sep 17 00:00:00 2001 From: rgarcia Date: Tue, 26 Apr 2016 11:12:07 +0200 Subject: [PATCH] displays error on failed update --- .../admin/spending_proposals_controller.rb | 21 ++++++++++++++++--- .../features/admin/spending_proposals_spec.rb | 14 +++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/app/controllers/admin/spending_proposals_controller.rb b/app/controllers/admin/spending_proposals_controller.rb index bd139dc9a..bdcfb9a62 100644 --- a/app/controllers/admin/spending_proposals_controller.rb +++ b/app/controllers/admin/spending_proposals_controller.rb @@ -14,9 +14,9 @@ class Admin::SpendingProposalsController < Admin::BaseController end def edit - @admins = Administrator.includes(:user).all - @valuators = Valuator.includes(:user).all.order("description ASC").order("users.email ASC") - @tags = ActsAsTaggableOn::Tag.spending_proposal_tags + load_admins + load_valuators + load_tags end def update @@ -24,6 +24,9 @@ class Admin::SpendingProposalsController < Admin::BaseController redirect_to admin_spending_proposal_path(@spending_proposal, SpendingProposal.filter_params(params)), notice: t("flash.actions.update.spending_proposal") else + load_admins + load_valuators + load_tags render :edit end end @@ -38,4 +41,16 @@ class Admin::SpendingProposalsController < Admin::BaseController params.require(:spending_proposal).permit(:title, :description, :external_url, :geozone_id, :association_name, :administrator_id, :tag_list, valuator_ids: []) end + def load_admins + @admins = Administrator.includes(:user).all + end + + def load_valuators + @valuators = Valuator.includes(:user).all.order("description ASC").order("users.email ASC") + end + + def load_tags + @tags = ActsAsTaggableOn::Tag.spending_proposal_tags + end + end diff --git a/spec/features/admin/spending_proposals_spec.rb b/spec/features/admin/spending_proposals_spec.rb index a28feded4..0ca1edd45 100644 --- a/spec/features/admin/spending_proposals_spec.rb +++ b/spec/features/admin/spending_proposals_spec.rb @@ -423,6 +423,20 @@ feature 'Admin spending proposals' do end end + scenario "Errors on update" do + spending_proposal = create(:spending_proposal) + create(:geozone, name: "Barbate") + + visit admin_spending_proposal_path(spending_proposal) + click_link 'Edit' + + fill_in 'spending_proposal_title', with: '' + + click_button 'Update' + + expect(page).to have_content "can't be blank" + end + end context 'Summary' do