Sha256: 2afc000a049dfb5ac9b806777452dbbfabbd881723f49940ac1abe3c950e2526

Contents?: true

Size: 905 Bytes

Versions: 3

Compression:

Stored size: 905 Bytes

Contents

require 'spec_helper'

class FooController < ActionController::Base
  include Rafters::ComponentContext
end

class FooComponent
  include Rafters::Component
end

describe Rafters::ComponentContext do
  let(:controller) { FooController.new }
  let(:renderer) { double("ComponentRenderer", render: "<p>Output</p>") }

  before do
    Rafters::ComponentRenderer.stub(:new).and_return(renderer)
  end

  describe "#render_component" do
    it "renders the provided component" do
      renderer.should_receive(:render).with(instance_of(FooComponent))
      controller.render_component(:foo, as: "foo")
    end

    context "with settings" do
      it "renders the provided component with the given settings" do
        FooComponent.should_receive(:new).with({ as: "foo", settings: { test: true } })
        controller.render_component(:foo, { as: "foo", settings: { test: true } })
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rafters-1.2.0 spec/rafters/component_context_spec.rb
rafters-1.1.0 spec/rafters/component_context_spec.rb
rafters-1.0.0 spec/rafters/component_context_spec.rb