Skip to content

Instantly share code, notes, and snippets.

@jc00ke
Forked from henrik/example_spec.rb
Created May 10, 2012 21:38
Show Gist options
  • Save jc00ke/2656061 to your computer and use it in GitHub Desktop.
Save jc00ke/2656061 to your computer and use it in GitHub Desktop.
Testing Draper decorators with real helpers, including URL helpers.
require "spec_helper"
# :draper_with_helpers is necessary for the Draper objects
# to access real helpers, including URL helpers, in the spec.
describe MyDecorator, "#foo", :draper_with_helpers do
# This is necessary for the spec itself to use URL helpers
# like some_path().
include Rails.application.routes.url_helpers
let(:item) { Item.new }
subject { MyDecorator.new(item).foo }
it { should include some_path(item) }
end
RSpec.configure do |config|
config.treat_symbols_as_metadata_keys_with_true_values = true
# Make helpers, including link helpers, work with Draper in specs.
# https://github.com/jcasimir/draper/pull/49#issuecomment-4003191
config.before(:all, :draper_with_helpers) do
c = ApplicationController.new
c.request = ActionDispatch::TestRequest.new
c.set_current_view_context
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment