module ViewComponent::TestHelpers
def controller
def controller @controller ||= Base.test_controller.constantize.new.tap { |c| c.request = request }.extend(Rails.application.routes.url_helpers) end
def page
def page Capybara::Node::Simple.new(@rendered_component) end
def refute_component_rendered
def refute_component_rendered assert_no_selector("body") end
def render_inline(component, **args, &block)
def render_inline(component, **args, &block) @rendered_component = if Rails.version.to_f >= 6.1 controller.view_context.render(component, args, &block) else controller.view_context.render_component(component, &block) end Nokogiri::HTML.fragment(@rendered_component) end
def request
def request @request ||= ActionDispatch::TestRequest.create end
def with_variant(variant)
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