1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
|
#require 'bundler/setup'
require 'minitest/autorun'
require 'mocha/setup'
# Configure Rails
ENV["RAILS_ENV"] = "test"
require 'active_support'
require 'active_model'
require 'rails/engine'
require 'rails/railtie'
$:.unshift File.expand_path('../../lib', __FILE__)
require 'responders'
I18n.enforce_available_locales = true
I18n.load_path << File.expand_path('../locales/en.yml', __FILE__)
I18n.reload!
Responders::Routes = ActionDispatch::Routing::RouteSet.new
Responders::Routes.draw do
resources :news
ActiveSupport::Deprecation.silence do
get '/admin/:action', controller: 'admin/addresses'
get '/:controller(/:action(/:id))'
end
end
class ApplicationController < ActionController::Base
include Responders::Routes.url_helpers
self.view_paths = File.join(File.dirname(__FILE__), 'views')
respond_to :html, :xml
end
class ActiveSupport::TestCase
self.test_order = :random
setup do
@routes = Responders::Routes
end
end
if ActionPack::VERSION::STRING >= '5.0.0'
require 'rails-controller-testing'
ActionController::TestCase.include Rails::Controller::Testing::TestProcess
ActionController::TestCase.include Rails::Controller::Testing::TemplateAssertions
else
# TODO: Remove this compatibility monkeypatch when we drop support for Rails 4.2.
class ActionController::TestCase
def post(action, options = {})
params = options.delete(:params) || {}
super(action, params.merge(options))
end
def put(action, options = {})
params = options.delete(:params) || {}
super(action, params.merge(options))
end
def delete(action, options = {})
params = options.delete(:params) || {}
super(action, params.merge(options))
end
def get(action, options = {})
params = options.delete(:params) || {}
super(action, params.merge(options))
end
end
end
module ActionDispatch
class Flash
class FlashHash
def used_keys
@discard
end
end
end
end
class Model
include ActiveModel::Conversion
include ActiveModel::Validations
attr_accessor :persisted, :updated_at
alias :persisted? :persisted
def persisted?
@persisted
end
def to_xml(*args)
"<xml />"
end
def initialize(updated_at=nil)
@persisted = true
self.updated_at = updated_at
end
end
class Address < Model
end
class User < Model
end
class News < Model
end
module MyEngine
class Business < Rails::Engine
isolate_namespace MyEngine
extend ActiveModel::Naming
end
end
|