require 'spec_helper' describe Clearance::RackSession do it 'injects a clearance session into the environment' do expected_session = 'the session' expected_session.stubs :add_cookie_to_headers Clearance::Session.stubs new: expected_session headers = { 'X-Roaring-Lobster' => 'Red' } app = Rack::Builder.new do use Clearance::RackSession run lambda { |env| Rack::Response.new(env[:clearance], 200, headers).finish } end env = Rack::MockRequest.env_for('/') response = Rack::MockResponse.new(*app.call(env)) Clearance::Session.should have_received(:new).with(env) response.body.should == expected_session expected_session.should have_received(:add_cookie_to_headers). with(has_entries(headers)) end end