diff --git a/core/app/controllers/spree/admin/base_controller.rb b/core/app/controllers/spree/admin/base_controller.rb index befa8efd842..43431f69df1 100644 --- a/core/app/controllers/spree/admin/base_controller.rb +++ b/core/app/controllers/spree/admin/base_controller.rb @@ -5,6 +5,8 @@ class BaseController < Spree::BaseController helper 'spree/admin/navigation' layout '/spree/layouts/admin' + before_filter :check_alerts unless Rails.env.development? + protected def check_alerts return unless current_user and should_check_alerts? diff --git a/core/spec/controllers/spree/admin/base_controller_spec.rb b/core/spec/controllers/spree/admin/base_controller_spec.rb new file mode 100644 index 00000000000..c3e4c70e70e --- /dev/null +++ b/core/spec/controllers/spree/admin/base_controller_spec.rb @@ -0,0 +1,30 @@ +# Spree's rpsec controller tests get the Spree::ControllerHacks +# we don't need those for the anonymous controller here, so +# we call process directly instead of get +require 'spec_helper' + +describe Spree::Admin::BaseController do + + controller(Spree::Admin::BaseController) do + def index + render :text => 'test' + end + end + + before do + controller.stub :current_user => Factory(:admin_user) + end + + describe "check alerts" do + it "checks alerts with before_filter" do + controller.should_receive :check_alerts + process :index + end + + it "saves alerts into session" do + Spree::Alert.should_receive(:current).and_return([Spree::Alert.new(:message => "test alert", :severity => 'release')]) + process :index + session[:alerts].first.message.should eq "test alert" + end + end +end