Created
February 15, 2016 15:02
-
-
Save leonardoprg/a6be19c70bd9fd032d10 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: "[email protected]", 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: "[email protected]", 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