Sha256: 3c3d98652ffd86e54884e319f30ea7a0f8e6d000f3b789fb65dcc584fe6f3650
Contents?: true
Size: 1.55 KB
Versions: 1
Compression:
Stored size: 1.55 KB
Contents
module Neo module Rails module Scenarios # Useful test helpers for minitest (test/unit). # # == Usage # # require 'neo/rails/scenarios/test_helper' # # class ActionController::TestCase # include Neo::Rails::Scenarios::TestHelper # end # module TestHelper extend ActiveSupport::Concern module ClassMethods # Creates test methods for each defined scenario defined in controller. def test_scenarios(options={}) controller_class = options.delete(:controller) || self.controller_class raise "no controller_class defined? Use 'tests MyController'" unless controller_class return unless controller_class.respond_to?(:list_scenarios) scenarios = controller_class.list_scenarios if except = options.delete(:except) except = Set.new(Array(except)) scenarios.reject! { |scenario| except.include?(scenario.name) } end return if scenarios.empty? scenarios.each do |scenario| method = scenario.options[:method] || :get path = scenario.action scenario_name = scenario.name test "test scenario #{controller_class}##{method} #{path.inspect}, :scenario => #{scenario_name.inspect}" do send(method, path, :id => 1, :scenario => scenario_name) assert_response :success end end end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
neo-rails-0.0.1 | lib/neo/rails/scenarios/test_helper.rb |