Module Rails::Controller::Testing::TemplateAssertions
In: lib/rails/controller/testing/template_assertions.rb

Methods

Constants

RENDER_TEMPLATE_INSTANCE_VARIABLES = %w{partials templates layouts files}.freeze

Public Instance methods

Asserts that the request was rendered with the appropriate template file or partials.

  # assert that the "new" view template was rendered
  assert_template "new"

  # assert that the exact template "admin/posts/new" was rendered
  assert_template %r{\Aadmin/posts/new\Z}

  # assert that the layout 'admin' was rendered
  assert_template layout: 'admin'
  assert_template layout: 'layouts/admin'
  assert_template layout: :admin

  # assert that no layout was rendered
  assert_template layout: nil
  assert_template layout: false

  # assert that the "_customer" partial was rendered twice
  assert_template partial: '_customer', count: 2

  # assert that no partials were rendered
  assert_template partial: false

  # assert that a file was rendered
  assert_template file: "README.rdoc"

  # assert that no file was rendered
  assert_template file: nil
  assert_template file: false

In a view test case, you can also assert that specific locals are passed to partials:

  # assert that the "_customer" partial was rendered with a specific object
  assert_template partial: '_customer', locals: { customer: @customer }

[Validate]