Sha256: 7851302dccf0c4aeed6fb65d40be481c16accd88f59e00dbc408672a4dc9450f

Contents?: true

Size: 1.47 KB

Versions: 3

Compression:

Stored size: 1.47 KB

Contents

require 'minitest/autorun'
require 'bundler'

Bundler.setup

# Configure Rails
ENV['RAILS_ENV'] = 'test'

require 'active_support'
require 'action_controller'
require 'active_record'

begin
  require 'responders'
rescue LoadError
end

require 'minitest/reporters'
MiniTest::Reporters.use!


require 'paginate-responder'

Responders::Routes = ActionDispatch::Routing::RouteSet.new
Responders::Routes.draw do
  get '/index' => 'paginate#index'
end

class ActiveSupport::TestCase
  setup do
    @routes = Responders::Routes
  end
end

class ArModel < ActiveRecord::Base
  has_many :ar_assoc_models
  def as_json(opts = {})
    id
  end
end

class ArAssocModel < ActiveRecord::Base
  def as_json(opts = {})
    id
  end
end

ActiveRecord::Base.establish_connection(
  adapter: 'sqlite3',
  database: ':memory:'
)
ActiveRecord::Base.connection.execute <<SQL
  CREATE TABLE ar_models (id INTEGER PRIMARY KEY AUTOINCREMENT);
SQL
ActiveRecord::Base.connection.execute <<SQL
  CREATE TABLE ar_assoc_models (
    id INTEGER PRIMARY KEY AUTOINCREMENT, ar_model_id INTEGER
  );
SQL

676.times do
  ArModel.create!.tap do |ar_model|
    5.times do
      ar_model.ar_assoc_models.create!
    end
  end
end

class TestResponder < ActionController::Responder
  include Responders::PaginateResponder
end

class PaginateController < ActionController::Base
  attr_accessor :resource
  include Responders::Routes.url_helpers
  self.responder = TestResponder
  respond_to :json

  def index
    respond_with resource
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
paginate-responder-1.5.0 test/test_helper.rb
paginate-responder-1.4.2 test/test_helper.rb
paginate-responder-1.4.2.beta0 test/test_helper.rb