Sha256: 2bc26ce096be8629b6ac9ae12016ac8de48bc6466045ae12096ba245d9e83782

Contents?: true

Size: 1.13 KB

Versions: 3

Compression:

Stored size: 1.13 KB

Contents

require "spec_helper"

describe Alephant::Renderer::ViewMapper do
  let(:renderer_id) { "foo-renderer" }
  let(:data) {{ :foo => :bar }}
  let(:path) { File.join(File.dirname(__FILE__), "fixtures/components") }

  subject { Alephant::Renderer::ViewMapper }

  describe "initialize(view_base_path)" do
    context "view_base_path = invalid_path" do
      it "should raise an error" do
        expect {
          subject.new(renderer_id, "./invalid_path")
        }.to raise_error ::Alephant::Renderer::Error::InvalidBasePath
      end
    end

    context "view_base_path = ." do
      it "sets base_path" do
        expect(
          subject.new(renderer_id, path).base_path
        ).to eq("#{path}/#{renderer_id}")
      end
    end

    context "view_base_path = nil" do
      it "sets base_path" do
        expect(
          subject.new(renderer_id).base_path
        ).to eq(Alephant::Renderer::ViewMapper::DEFAULT_LOCATION)
      end
    end
  end

  describe "generate(data)" do
    it "calls create_renderer for each template found" do
      expect(
        subject.new(renderer_id, path).generate(data).size
      ).to eq(3)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
alephant-renderer-3.0.0 spec/view_mapper_spec.rb
alephant-renderer-2.0.3 spec/view_mapper_spec.rb
alephant-renderer-2.0.2 spec/view_mapper_spec.rb