module ViewComponent::TestHelpers

Public Instance Methods

controller() click to toggle source
# File lib/view_component/test_helpers.rb, line 23
def controller
  @controller ||= Base.test_controller.constantize.new.tap { |c| c.request = request }.extend(Rails.application.routes.url_helpers)
end
page() click to toggle source
# File lib/view_component/test_helpers.rb, line 9
def page
  Capybara::Node::Simple.new(@raw)
end
refute_component_rendered() click to toggle source
# File lib/view_component/test_helpers.rb, line 13
def refute_component_rendered
  assert_no_selector("body")
end
render_inline(component, **args, &block) click to toggle source
# File lib/view_component/test_helpers.rb, line 17
def render_inline(component, **args, &block)
  @raw = controller.view_context.render(component, args, &block)

  Nokogiri::HTML.fragment(@raw)
end
request() click to toggle source
# File lib/view_component/test_helpers.rb, line 27
def request
  @request ||= ActionDispatch::TestRequest.create
end
with_variant(variant) { || ... } click to toggle source
# File lib/view_component/test_helpers.rb, line 31
def with_variant(variant)
  old_variants = controller.view_context.lookup_context.variants

  controller.view_context.lookup_context.variants = variant
  yield
  controller.view_context.lookup_context.variants = old_variants
end