configure Sinatra + RSpec + Capybara + Kaminari

This commit is contained in:
Akira Matsuda 2012-05-23 06:51:23 +09:00
parent 9ff3c316b0
commit 88a9680053
2 changed files with 44 additions and 0 deletions

View File

@ -0,0 +1,22 @@
require 'fake_app/active_record/config' if defined? ActiveRecord
require 'fake_app/data_mapper/config' if defined? DataMapper
require 'fake_app/mongoid/config' if defined? Mongoid
require 'fake_app/mongo_mapper/config' if defined? MongoMapper
#models
require 'fake_app/active_record/models' if defined? ActiveRecord
require 'fake_app/data_mapper/models' if defined? DataMapper
require 'fake_app/mongoid/models' if defined? Mongoid
require 'fake_app/mongo_mapper/models' if defined? MongoMapper
class SinatraApp < Sinatra::Base
register Kaminari::Helpers::SinatraHelpers
get '/users' do
@users = User.page params[:page]
erb <<-ERB
<%= @users.map(&:name).join("\n") %>
<%= paginate @users %>
ERB
end
end

View File

@ -1,10 +1,32 @@
require 'kaminari/sinatra'
require 'rack/test'
require 'sinatra/test_helpers'
require 'capybara/dsl'
require 'capybara/rspec'
require 'fake_app/sinatra_app'
Capybara.app = SinatraApp
module HelperMethodForHelperSpec
module FakeEnv
def env
{'PATH_INFO' => '/'}
end
end
def helper
# OMG terrible object...
Kaminari::Helpers::SinatraHelpers::ActionViewTemplateProxy.new(:current_params => {}, :current_path => '/', :param_name => Kaminari.config.param_name).extend(Padrino::Helpers, Kaminari::ActionViewExtension, Kaminari::Helpers::SinatraHelpers::HelperMethods, FakeEnv)
end
end
RSpec.configure do |config|
config.include Rack::Test::Methods
config.include Sinatra::TestHelpers
config.include Capybara::DSL
config.include HelperMethodForHelperSpec
# config.include HelperMethodForHelperSpec, :type => :helper
end
require 'nokogiri'