Skip to content

Instantly share code, notes, and snippets.

@leonardoprg
Created February 15, 2016 15:02
Show Gist options
  • Save leonardoprg/a6be19c70bd9fd032d10 to your computer and use it in GitHub Desktop.
Save leonardoprg/a6be19c70bd9fd032d10 to your computer and use it in GitHub Desktop.
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'
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: "test.sqlite")
class DeviseCreateUsers < ActiveRecord::Migration
def change
return if table_exists?("users")
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
# byebug
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 do
# TODO: I KNOW IT MUST BE ON THE TEST, BUT NOT SURE WHY NOT WORK ON TEST :/
sign_in User.create!(email: "test@test.com", password: "test123456", password_confirmation: "test123456")
end
before_filter :authenticate_user!
def index
render plain: 'Home'
end
end
require 'minitest/autorun'
class BugTest < ActionController::TestCase
include Rack::Test::Methods
include Devise::TestHelpers
def test_returns_success
User.delete_all
# TODO: NOT SURE WHY IT DOESNT WORK
# sign_in User.create!(email: "test@test.com", password: "test123456", password_confirmation: "test123456")
get '/'
assert last_response.ok?
end
private
def app
Rails.application
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment