0
0
zero/spec/unit/controller/call_spec.rb
2012-12-17 16:29:29 +01:00

42 lines
907 B
Ruby

require 'spec_helper'
describe Zero::Controller, '.call' do
subject { controller.call(env) }
let(:controller) { SpecController }
let(:env) { EnvGenerator.get('/foo') }
before :each do
controller.renderer = Object.new
end
it "returns a response" do
subject.should be_respond_to(:to_a)
end
it "returns an object with the first element being a status" do
subject[0].should be_kind_of(Numeric)
end
it "does not modify an existing request" do
r = Zero::Request.new(env)
r.params['foo'] = 'bar'
subject
r = Zero::Request.new(env)
expect(r.params['foo']).to eq('bar')
end
context "with the response" do
let(:response_class) { mock }
before :each do
Zero::Controller.response = response_class
response_class.should_receive(:new)
end
after :each do
Zero::Controller.response = nil
end
it { subject }
end
end