write specs + refactor the session_proxy liquid drop

did committed Feb 06, 2015
commit 844861d88d48099c28c51241540c15d3ebd00ad7
Showing 2 changed files with 27 additions and 12 deletions
locomotive/steam/liquid/drops/session_proxy.rb b/lib/locomotive/steam/liquid/drops/session_proxy.rb +14 -12
@@ @@ -1,16 +1,18 @@
- # module Locomotive
- # module Liquid
- # module Drops
+ module Locomotive
+ module Steam
+ module Liquid
+ module Drops
- # class SessionProxy < ::Liquid::Drop
+ class SessionProxy < ::Liquid::Drop
- # def before_method(meth)
- # controller = @context.registers[:controller]
- # controller.session[meth.to_sym]
- # end
+ def before_method(meth)
+ request = @context.registers[:request]
+ request.session[meth.to_sym]
+ end
- # end
+ end
- # end
- # end
- # end
+ end
+ end
+ end
+ end
spec/unit/liquid/drops/session_proxy_spec.rb +13 -0
@@ @@ -0,0 +1,13 @@
+ require 'spec_helper'
+
+ describe Locomotive::Steam::Liquid::Drops::SessionProxy do
+
+ let(:request) { instance_double('Request', session: { answer: 42 }) }
+ let(:context) { ::Liquid::Context.new({}, {}, { request: request }) }
+ let(:drop) { Locomotive::Steam::Liquid::Drops::SessionProxy.new.tap { |d| d.context = context } }
+
+ subject { drop['answer'] }
+
+ it { is_expected.to eq 42 }
+
+ end