From 09b84452691264274702d0bec60beb3b133ca27d Mon Sep 17 00:00:00 2001 From: Ryan Cook Date: Thu, 17 May 2012 19:02:59 -0500 Subject: [PATCH] Minitest Integration Closes #207 --- lib/draper.rb | 1 + lib/draper/minitest_integration.rb | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100755 lib/draper/minitest_integration.rb diff --git a/lib/draper.rb b/lib/draper.rb index 3b0294f..fde4a94 100644 --- a/lib/draper.rb +++ b/lib/draper.rb @@ -10,5 +10,6 @@ require 'draper/helper_support' require 'draper/view_context' require 'draper/decorated_enumerable_proxy' require 'draper/rspec_integration' if defined?(RSpec) and RSpec.respond_to?(:configure) +require 'draper/minitest_integration' require 'draper/railtie' if defined?(Rails) diff --git a/lib/draper/minitest_integration.rb b/lib/draper/minitest_integration.rb new file mode 100755 index 0000000..5bf5f7e --- /dev/null +++ b/lib/draper/minitest_integration.rb @@ -0,0 +1,26 @@ +require 'minitest/unit' +require 'minitest/spec' + +module MiniTest + class DecoratorSpec < Spec + before do + ApplicationController.new.set_current_view_context + Draper::ViewContext.current.controller.request ||= ActionController::TestRequest.new + Draper::ViewContext.current.request ||= Draper::ViewContext.current.controller.request + Draper::ViewContext.current.params ||= {} + end + end +end + +class MiniTest::Unit::DecoratorTestCase < MiniTest::Unit::TestCase + add_setup_hook do + ApplicationController.new.set_current_view_context + Draper::ViewContext.current.controller.request ||= ActionController::TestRequest.new + Draper::ViewContext.current.request ||= Draper::ViewContext.current.controller.request + Draper::ViewContext.current.params ||= {} + end +end + +MiniTest::Spec.register_spec_type(MiniTest::DecoratorSpec) do |desc| + desc.superclass == Draper::Base +end