Sha256: 8e0bf41d6291bf9dd78a40a6c97bb7c4f5c13823ce14c3a54fdcf196070597e1

Contents?: true

Size: 1.26 KB

Versions: 4

Compression:

Stored size: 1.26 KB

Contents

module StrongPresenter
  begin
    require 'minitest/rails'
  rescue LoadError
  end

  active_support_test_case = begin
    require 'minitest/rails/active_support' # minitest-rails < 0.5
    ::MiniTest::Rails::ActiveSupport::TestCase
  rescue LoadError
    require 'active_support/test_case'
    ::ActiveSupport::TestCase
  end

  class TestCase < active_support_test_case
    module ViewContextTeardown
      def teardown
        super
        StrongPresenter::ViewContext.clear!
      end
    end

    module Behavior
      if defined?(::Devise)
        require 'strong_presenter/test/devise_helper'
        include StrongPresenter::DeviseHelper
      end

      if defined?(::Capybara) && (defined?(::RSpec) || defined?(::MiniTest::Matchers))
        require 'capybara/rspec/matchers'
        include ::Capybara::RSpecMatchers
      end

      include StrongPresenter::ViewHelpers::ClassMethods
      alias_method :helper, :helpers
    end

    include Behavior
    include ViewContextTeardown
  end
end

if defined?(ActionController::TestCase)
  class ActionController::TestCase
    include StrongPresenter::TestCase::ViewContextTeardown
  end
end

if defined?(ActionMailer::TestCase)
  class ActionMailer::TestCase
    include StrongPresenter::TestCase::ViewContextTeardown
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
strong_presenter-0.2.2 lib/strong_presenter/test_case.rb
strong_presenter-0.2.1 lib/strong_presenter/test_case.rb
strong_presenter-0.2.0 lib/strong_presenter/test_case.rb
strong_presenter-0.1.0 lib/strong_presenter/test_case.rb