Sha256: 334d915fc3110a552e8fccf30e8242e967a9757db3f5b6272570b300b2d0f2e3

Contents?: true

Size: 989 Bytes

Versions: 2

Compression:

Stored size: 989 Bytes

Contents

require 'spec_helper'

describe 'public page routes' do
  routes { Landable::Engine.routes }

  context 'should match' do
    let(:author) { create :author }
    let(:pages) do
      [create(:page, status_code: 200),
       create(:page, status_code: 301, redirect_url: 'http://google.com/'),
       create(:page, status_code: 302, redirect_url: 'http://foobar.com/'),
       create(:page, status_code: 410)
      ].each do |page|
        page.publish! author: author, status_code: page.status_code
      end
    end

    specify 'published pages with any status_code' do
      pages.each do |page|
        expect(get: page.path).to route_to(controller: 'landable/public/pages', action: 'show', url: page.path[1..-1])
      end
    end
  end

  context 'should not match' do
    specify 'random stuff' do
      expect(get: '/foobar').to_not be_routable
    end

    specify 'unpublished pages' do
      page = create :page
      expect(get: page.path).to_not be_routable
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
landable-1.14.0 spec/routing/public_page_route_spec.rb
landable-1.13.2 spec/routing/public_page_route_spec.rb