diff options
| author | Gibheer <gibheer@gmail.com> | 2013-01-11 13:21:02 +0100 | 
|---|---|---|
| committer | Gibheer <gibheer@gmail.com> | 2013-01-11 16:02:26 +0100 | 
| commit | 399e0ea3383732aa2a29557ed8344cae74632e8e (patch) | |
| tree | 29effc7608f25a0b3740a46e2e8475171209a8a5 /spec | |
| parent | f9fd98510b7ccc6aa5bb8685fa1a7e144eb4d737 (diff) | |
use class_options for the controller
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/spec_helper.rb | 9 | ||||
| -rw-r--r-- | spec/unit/zero/controller/call_spec.rb | 12 | ||||
| -rw-r--r-- | spec/unit/zero/controller/render_spec.rb | 11 | ||||
| -rw-r--r-- | spec/unit/zero/controller/renderer_spec.rb | 8 | 
4 files changed, 29 insertions, 11 deletions
| diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 1b0dd61..5711e6c 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -19,9 +19,12 @@ class SpecTemplateContext    end  end -class SpecController < Zero::Controller -  def process; end -  def render; @response = [200, {'Content-Type' => 'text/html'}, ['foo']]; end +def create_controller +  Class.new(Zero::Controller) do +    def process +      @response.body = 'correct' +    end +  end  end  class SpecApp diff --git a/spec/unit/zero/controller/call_spec.rb b/spec/unit/zero/controller/call_spec.rb index 6cc56a4..44a8f0a 100644 --- a/spec/unit/zero/controller/call_spec.rb +++ b/spec/unit/zero/controller/call_spec.rb @@ -1,12 +1,14 @@  require 'spec_helper'  describe Zero::Controller, '.call' do -  subject { controller.call(env) } -  let(:controller) { SpecController } +  let(:object) { create_controller } +  subject { object.call(env) }    let(:env) { EnvGenerator.get('/foo') }    before :each do -    controller.renderer = Object.new +    object.renderer = Object.new +    object.response = Zero::Response +    object.request  = Zero::Request    end    it "returns a response" do @@ -28,8 +30,8 @@ describe Zero::Controller, '.call' do    context "with the response" do      let(:response_class) { mock }      before :each do -      Zero::Controller.response = response_class -      response_class.should_receive(:new) +      object.response = response_class +      response_class.should_receive(:new).and_return(Zero::Response.new)      end      after :each do diff --git a/spec/unit/zero/controller/render_spec.rb b/spec/unit/zero/controller/render_spec.rb index 771db28..0d807cc 100644 --- a/spec/unit/zero/controller/render_spec.rb +++ b/spec/unit/zero/controller/render_spec.rb @@ -1,13 +1,20 @@  require 'spec_helper'  describe Zero::Controller, '#render' do -  subject { Zero::Controller.new(env) } +  let(:object) { create_controller } +  subject { object.new(env) } + +  before do +    object.request  = Zero::Request +    object.response = Zero::Response +  end +      let(:env) { EnvGenerator.get('/foo') }    let(:renderer) { mock }    let(:template) { '/foo' }    before :each do -    Zero::Controller.renderer = renderer +    object.renderer = renderer      renderer.should_receive(:render).with(template,                                    kind_of(Zero::Request::AcceptType), subject)    end diff --git a/spec/unit/zero/controller/renderer_spec.rb b/spec/unit/zero/controller/renderer_spec.rb index 21664ec..35e0475 100644 --- a/spec/unit/zero/controller/renderer_spec.rb +++ b/spec/unit/zero/controller/renderer_spec.rb @@ -1,11 +1,17 @@  require 'spec_helper'  describe Zero::Controller, '#renderer' do -  subject { Zero::Controller } +  subject { create_controller }    let(:renderer) { Object.new } +  before do +    subject.response = Zero::Response +    subject.request  = Zero::Request +  end +    it 'returns the set renderer' do      subject.renderer = renderer +    p subject.renderer      expect(subject.new({}).renderer).to be(renderer)    end  end | 
