Sha256: b0df601e0719f47707ea1c8fbd4444579e5f78586c6d8066b4f72e9265c44d35

Contents?: true

Size: 1.68 KB

Versions: 1

Compression:

Stored size: 1.68 KB

Contents

require 'spec_helper'

describe Kuhsaft::PagesController do
  subject { described_class }

  describe '#show' do
    describe 'redirect' do
      around(:each) do |example|
        I18n.with_locale :de do
          example.run
        end
      end

      context 'when page is not a redirect page' do
        it 'responds with page' do
          page = FactoryGirl.create(:page, :slug => 'dumdidum', :url => 'de/dumdidum')
          get :show,  { :url => page.slug, :use_route => :kuhsaft, :locale => :de }
          assigns(:page).should eq(page)
        end
      end

      context 'when page is a redirect page' do
        it 'redirects to the redirected url' do
          page = FactoryGirl.create(:page, :page_type => 'redirect', :slug => 'dumdidum', :url => 'de/dumdidum', :redirect_url => 'de/redirect_page')
          get :show,  { :url => page.slug, :use_route => :kuhsaft, :locale => :de }
          expect(response).to redirect_to("/de/redirect_page")
        end
      end
    end

    describe 'routing' do
      context 'without url' do
        before do
          @page = FactoryGirl.create(:page, :url_de => 'de')
        end

        context 'with matching locale' do
          it 'sets the corresponding page' do
            I18n.with_locale(:de) do
              get(:show,  { :use_route => :kuhsaft })
            end
            assigns(:page).should eq(@page)
          end
        end

        context 'without matching locale' do
          it 'raises a routing error' do
            I18n.with_locale(:en) do
              expect { get(:show,  { :use_route => :kuhsaft }) }.to raise_error(ActionController::RoutingError)
            end
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kuhsaft-1.6.0 spec/controllers/kuhsaft/pages_controller_spec.rb