module Liquid::Rails::Rspec::ViewControllerContext

Public Instance Methods

context(assigns={}) click to toggle source
# File lib/liquid-rails/rspec/view_controller_context.rb, line 26
def context(assigns={})
  @context ||= ::Liquid::Context.new(assigns, {}, { helper: @view, view: @view, controller: @controller })
end
controller() click to toggle source
# File lib/liquid-rails/rspec/view_controller_context.rb, line 22
def controller
  @controller
end
expect_template_result(template, expected, assigns={}) click to toggle source
# File lib/liquid-rails/rspec/view_controller_context.rb, line 30
def expect_template_result(template, expected, assigns={})
  # make assigns available inside context
  assigns.each do |key, value|
    context[key] = value
  end

  actual = Liquid::Template.parse(template).render!(context)
  expect(actual.to_s.strip).to eq(expected.to_s.strip)
end
setup_view_and_controller() click to toggle source
# File lib/liquid-rails/rspec/view_controller_context.rb, line 7
def setup_view_and_controller
  @view                 = ActionView::Base.new
  @controller           = ApplicationController.new
  @request              = ActionDispatch::TestRequest.create('PATH_INFO' => '/')
  @controller.request   = @request
  @controller.params    = {}
  @view.assign_controller(@controller)
  @view.class.send(:include, @controller._helpers)
  @view.class.send(:include, ::Rails.application.routes.url_helpers)
end
view() click to toggle source
# File lib/liquid-rails/rspec/view_controller_context.rb, line 18
def view
  @view
end