Sha256: 22a889073bfb1c8ae720a55555683a8ef82cea11fa68b977a041aa01fb521ef8

Contents?: true

Size: 1.16 KB

Versions: 2

Compression:

Stored size: 1.16 KB

Contents

require 'spec_helper'

describe HighVoltage::PageFinder do
  it 'produces the name of an existing template' do
    expect(find('existing')).to eq 'pages/existing'
  end

  it 'produces the name of a nested template' do
    expect(find('dir/nested')).to eq 'pages/dir/nested'
  end

  it 'uses a custom content path' do
    with_content_path('other_pages/') do
      expect(find('also_exists')).to eq 'other_pages/also_exists'
    end
  end

  it 'exposes the content path' do
    with_content_path('another_thing/') do
      expect(page_finder.content_path).to eq 'another_thing/'
    end
  end

  it 'provides the page_id' do
    subclass = Class.new(HighVoltage::PageFinder) do
      def page_name
        "the page is #{page_id}"
      end
    end

    expect(subclass.new('sweet page').page_name).to eq 'the page is sweet page'
  end

  private

  def find(page_id)
    page_finder(page_id).find
  end

  def page_finder(page_id = 'whatever')
    HighVoltage::PageFinder.new(page_id)
  end

  def with_content_path(path)
    original_content_path = HighVoltage.content_path
    HighVoltage.content_path = path

    yield

    HighVoltage.content_path = original_content_path
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
high_voltage-2.2.1 spec/high_voltage/page_finder_spec.rb
high_voltage-2.2.0 spec/high_voltage/page_finder_spec.rb