module Liquid::Rails::Rspec::ViewControllerContext
Public Instance Methods
context(assigns={})
click to toggle source
# File lib/liquid-rails/rspec/view_controller_context.rb, line 29 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 25 def controller @controller end
expect_template_result(template, expected, assigns={})
click to toggle source
# File lib/liquid-rails/rspec/view_controller_context.rb, line 33 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 = build_request_for_liquid @response = build_response_for_liquid @response.request = @request @controller.request = @request @controller.response = @response @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 21 def view @view end
Private Instance Methods
build_request_for_liquid()
click to toggle source
# File lib/liquid-rails/rspec/view_controller_context.rb, line 45 def build_request_for_liquid if ::Rails::VERSION::MAJOR < 5 ActionController::TestRequest.new({'PATH_INFO' => '/'}) else ActionController::TestRequest.new({'PATH_INFO' => '/'}, {}) end end
build_response_for_liquid()
click to toggle source
# File lib/liquid-rails/rspec/view_controller_context.rb, line 53 def build_response_for_liquid if ::Rails::VERSION::MAJOR < 5 ActionController::TestResponse.new else ActionDispatch::TestResponse.new end end