Module: RSpec::Rails::ViewExampleGroup::ExampleMethods Private
- Defined in:
- lib/rspec/rails/example/view_example_group.rb
Overview
This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.
DSL exposed to view specs.
Instance Method Summary (collapse)
- 
  
      - (Object) params 
  
  private
    Provides access to the params hash that will be available within the view. 
- 
  
      - (Object) render(options = {}, local_assigns = {}, &block) 
  
  private
    Delegates to ActionView::Base#render, so see documentation on that for more info. 
- 
  
      - (Object) response 
  
  deprecated
  private
    Deprecated. Use renderedinstead.
- 
  
      - (Object) stub_template(hash) 
  
  private
    Simulates the presence of a template on the file system by adding a Rails' FixtureResolver to the front of the view_paths list. 
- 
  
      - (Object) template 
  
  deprecated
  private
    Deprecated. Use viewinstead.
- 
  
      - (Object) view 
  
  private
    The instance of ActionView::Basethat is used to render the template.
Instance Method Details
- (Object) params
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Provides access to the params hash that will be available within the view.
params[:foo] = 'bar'
| 81 82 83 | # File 'lib/rspec/rails/example/view_example_group.rb', line 81 def params controller.params end | 
- (Object) render - (Object) render({:partial = > path_to_file}) - (Object) render({:partial = > path_to_file}, {... locals ...}) - (Object) render({:partial = > path_to_file}, {... locals ...})
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Delegates to ActionView::Base#render, so see documentation on that for more info.
The only addition is that you can call render with no arguments, and RSpec will pass the top level description to render:
describe "widgets/new.html.erb" do
  it "shows all the widgets" do
    render # => view.render(:file => "widgets/new.html.erb")
    # ...
  end
end
| 48 49 50 51 | # File 'lib/rspec/rails/example/view_example_group.rb', line 48 def render( = {}, local_assigns = {}, &block) = if Hash === && .empty? super(, local_assigns, &block) end | 
- (Object) response
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Use rendered instead.
| 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | # File 'lib/rspec/rails/example/view_example_group.rb', line 92 def response # `assert_template` expects `response` to implement a #body method # like an `ActionDispatch::Response` does to force the view to # render. For backwards compatibility, we use #response as an alias # for #rendered, but it needs to implement #body to avoid # `assert_template` raising a `NoMethodError`. unless rendered.respond_to?(:body) def rendered.body self end end rendered end | 
- (Object) stub_template(hash)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Simulates the presence of a template on the file system by adding a Rails' FixtureResolver to the front of the view_paths list. Designed to help isolate view examples from partials rendered by the view template that is the subject of the example.
stub_template("widgets/_widget.html.erb" => "This content.")
| 73 74 75 | # File 'lib/rspec/rails/example/view_example_group.rb', line 73 def stub_template(hash) view.view_paths.unshift(ActionView::FixtureResolver.new(hash)) end | 
- (Object) template
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Use view instead.
| 86 87 88 89 | # File 'lib/rspec/rails/example/view_example_group.rb', line 86 def template RSpec.deprecate("template", :replacement => "view") view end | 
- (Object) view
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
The instance of ActionView::Base that is used to render the template.
Use this to stub methods before calling render.
describe "widgets/new.html.erb" do
  it "shows all the widgets" do
    view.stub(:foo) { "foo" }
    render
    # ...
  end
end
| 63 64 65 | # File 'lib/rspec/rails/example/view_example_group.rb', line 63 def view _view end |