File: test_helper.rb

package info (click to toggle)
ruby-responders 2.4.0-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 332 kB
  • sloc: ruby: 1,758; makefile: 6
file content (119 lines) | stat: -rw-r--r-- 2,513 bytes parent folder | download | duplicates (2)
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