Module: Liquid::Rails::Rspec::ViewControllerContext
- Extended by:
- ActiveSupport::Concern
- Included in:
- DropExampleGroup, FilterExampleGroup, TagExampleGroup
- Defined in:
- lib/liquid-rails/rspec/view_controller_context.rb
Instance Method Summary collapse
- #context(assigns = {}) ⇒ Object
- #controller ⇒ Object
- #expect_template_result(template, expected, assigns = {}) ⇒ Object
- #setup_view_and_controller ⇒ Object
- #view ⇒ Object
Instance Method Details
#context(assigns = {}) ⇒ Object
26 27 28 |
# 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 ⇒ Object
22 23 24 |
# File 'lib/liquid-rails/rspec/view_controller_context.rb', line 22 def controller @controller end |
#expect_template_result(template, expected, assigns = {}) ⇒ Object
30 31 32 33 34 35 36 37 38 |
# 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 ⇒ Object
7 8 9 10 11 12 13 14 15 16 |
# 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 ⇒ Object
18 19 20 |
# File 'lib/liquid-rails/rspec/view_controller_context.rb', line 18 def view @view end |