Class Spec::Rails::Example::HelperExampleGroup
In: lib/spec/rails/example/helper_example_group.rb
Parent: FunctionalExampleGroup

Helper Specs live in $RAILS_ROOT/spec/helpers/.

Helper Specs use Spec::Rails::Example::HelperExampleGroup, which allows you to include your Helper directly in the context and write specs directly against its methods.

HelperExampleGroup also includes the standard lot of ActionView::Helpers in case your helpers rely on any of those.

Example

  class ThingHelper
    def number_of_things
      Thing.count
    end
  end

  describe "ThingHelper example_group" do
    include ThingHelper
    it "should tell you the number of things" do
      Thing.should_receive(:count).and_return(37)
      number_of_things.should == 37
    end
  end

Methods

Classes and Modules

Class Spec::Rails::Example::HelperExampleGroup::HelperObject

Public Class methods

Public Instance methods

Returns an instance of ActionView::Base with the helper being spec‘d included.

Example

  describe PersonHelper do
    it "should write a link to person with the name" do
      assigns[:person] = mock_model(Person, :full_name => "Full Name", :id => 37, :new_record? => false)
      helper.link_to_person.should == %{<a href="/people/37">Full Name</a>}
    end
  end

  module PersonHelper
    def link_to_person
      link_to person.full_name, url_for(person)
    end
  end

TODO: BT - Helper Examples should proxy method_missing to a Rails View instance. When that is done, remove this method

Protected Instance methods

[Validate]