Sha256: a1d1a986a36eab22944672077092c9ffffea605a6da869dac303262878a9a2ad

Contents?: true

Size: 1.08 KB

Versions: 4

Compression:

Stored size: 1.08 KB

Contents

require File.dirname(__FILE__) + '/../spec_helper'

module Enki

  describe PagesController do
    describe 'handling GET for a single post' do
      before(:each) do
        @page = mock_model(Page)
        Page.stub!(:find_by_slug).and_return(@page)
      end

      def do_get
        get :show, :id => 'a-page'
      end

      it "should be successful" do
        do_get
        response.should be_success
      end

      it "should render show template" do
        do_get
        response.should render_template('show')
      end

      it 'should find the page requested' do
        Page.should_receive(:find_by_slug).with('a-page').and_return(@page)
        do_get
      end

      it 'should assign the page found for the view' do
        do_get
        assigns[:page].should equal(@page)
      end
    end

    describe 'handling GET with invalid page' do
      it 'raises a RecordNotFound error' do
        Page.stub!(:find_by_slug).and_return(nil)
        lambda {
          get :show, :id => 'a-page'
        }.should raise_error(ActiveRecord::RecordNotFound)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
enki-engine-0.0.5 spec/controllers/pages_controller_spec.rb
enki-engine-0.0.4 spec/controllers/pages_controller_spec.rb
enki-engine-0.0.3 spec/controllers/pages_controller_spec.rb
enki-engine-0.0.2 spec/controllers/pages_controller_spec.rb