module RSpec::Rails::ViewExampleGroup::ExampleMethods

def _controller_path

def _controller_path
  _path_parts[0..-2].join("/")
end

def _default_file_to_render

def _default_file_to_render
  example.example_group.top_level_description
end

def _include_controller_helpers

def _include_controller_helpers
  helpers = controller._helpers
  view.singleton_class.class_eval do
    include helpers unless included_modules.include?(helpers)
  end
end

def _inferred_action

def _inferred_action
  _path_parts.last.split(".").first
end

def _path_parts

def _path_parts
  _default_file_to_render.split("/")
end

def params

params[:foo] = 'bar'

view:
Provides access to the params hash that will be available within the
def params
  controller.params
end

def render(options={}, local_assigns={}, &block)

Overloads:
  • render({:partial => path_to_file}, {... locals ...}) do ... end
  • render({:partial => path_to_file}, {... locals ...})
  • render({:partial => path_to_file})
  • render
def render(options={}, local_assigns={}, &block)
  options = {:template => _default_file_to_render} if Hash === options and options.empty?
  super(options, local_assigns, &block)
end

def response

Deprecated:
  • Use `rendered` instead.
def response
  RSpec.deprecate("response", "rendered")
  rendered
end

def stub_template(hash)

stub_template("widgets/_widget.html.erb" => "This content.")

@example

that is the subject of the example.
help isolate view examples from partials rendered by the view template
Rails' FixtureResolver to the front of the view_paths list. Designed to
Simulates the presence of a template on the file system by adding a
def stub_template(hash)
  view.view_paths.unshift(ActionView::FixtureResolver.new(hash))
end

def template

Deprecated:
  • Use `view` instead.
def template
  RSpec.deprecate("template","view")
  view
end

def view

end
end
# ...
render
view.stub(:foo) { "foo" }
it "shows all the widgets" do
describe "widgets/new.html.erb" do

Use this to stub methods _before_ calling `render`.
The instance of `ActionView::Base` that is used to render the template.
def view
  _view
end