mirror of
https://github.com/heartcombo/devise.git
synced 2022-11-09 12:18:31 -05:00
106 lines
2.2 KiB
Ruby
106 lines
2.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
begin
|
|
require 'bundler/inline'
|
|
rescue LoadError => e
|
|
$stderr.puts 'Bundler version 1.10 or later is required. Please update your Bundler'
|
|
raise e
|
|
end
|
|
|
|
gemfile(true) do
|
|
source 'https://rubygems.org'
|
|
# Activate the gem you are reporting the issue against.
|
|
gem 'rails', '~> 4.2.0'
|
|
gem 'devise', '~> 4.0'
|
|
gem 'sqlite3'
|
|
gem 'byebug'
|
|
end
|
|
|
|
require 'rack/test'
|
|
require 'action_controller/railtie'
|
|
require 'active_record'
|
|
require 'devise/rails/routes'
|
|
require 'devise/rails/warden_compat'
|
|
|
|
ActiveRecord::Base.establish_connection( adapter: :sqlite3, database: ':memory:')
|
|
|
|
class DeviseCreateUsers < ActiveRecord::Migration
|
|
def change
|
|
create_table(:users) do |t|
|
|
t.string :email, null: false
|
|
t.string :encrypted_password, null: true
|
|
t.timestamps null: false
|
|
end
|
|
|
|
end
|
|
end
|
|
|
|
Devise.setup do |config|
|
|
require 'devise/orm/active_record'
|
|
config.secret_key = 'secret_key_base'
|
|
end
|
|
|
|
class TestApp < Rails::Application
|
|
config.root = File.dirname(__FILE__)
|
|
config.session_store :cookie_store, key: 'cookie_store_key'
|
|
secrets.secret_token = 'secret_token'
|
|
secrets.secret_key_base = 'secret_key_base'
|
|
config.eager_load = false
|
|
|
|
config.middleware.use Warden::Manager do |config|
|
|
Devise.warden_config = config
|
|
end
|
|
|
|
config.logger = Logger.new($stdout)
|
|
Rails.logger = config.logger
|
|
|
|
end
|
|
|
|
Rails.application.initialize!
|
|
|
|
DeviseCreateUsers.migrate(:up)
|
|
|
|
class User < ActiveRecord::Base
|
|
devise :database_authenticatable
|
|
end
|
|
|
|
Rails.application.routes.draw do
|
|
devise_for :users
|
|
|
|
get '/' => 'test#index'
|
|
end
|
|
|
|
class ApplicationController < ActionController::Base
|
|
end
|
|
|
|
class TestController < ApplicationController
|
|
include Rails.application.routes.url_helpers
|
|
|
|
before_action :authenticate_user!
|
|
|
|
def index
|
|
render plain: 'Home'
|
|
end
|
|
end
|
|
|
|
require 'minitest/autorun'
|
|
|
|
class BugTest < ActionDispatch::IntegrationTest
|
|
include Rack::Test::Methods
|
|
include Warden::Test::Helpers
|
|
|
|
def test_returns_success
|
|
Warden.test_mode!
|
|
|
|
login_as User.create!(email: 'test@test.com', password: 'test123456', password_confirmation: 'test123456')
|
|
|
|
get '/'
|
|
assert last_response.ok?
|
|
end
|
|
|
|
private
|
|
|
|
def app
|
|
Rails.application
|
|
end
|
|
end
|