Skip to content

Instantly share code, notes, and snippets.

@mmmpa
Last active August 29, 2015 14:07
Show Gist options
  • Save mmmpa/e099f87a8f8a3f5db87c to your computer and use it in GitHub Desktop.
Save mmmpa/e099f87a8f8a3f5db87c to your computer and use it in GitHub Desktop.
#rails_config
Settings.add_source!("#{Rails.root}/config/settings/addition.yml")
Settings.reload!
#rspec
config.generators do |g|
g.test_framework :rspec, fixtures: true, view_specs: false, helper_specs: false, routing_specs:
false, controller_specs: true, request_specs: false
g.fixture_replacement :factory_girl, dir: "spec/factories"
end
group :development, :test do
gem 'factory_girl_rails', '~> 4.2.1'
end
group :development do
gem 'rack-mini-profiler'
end
group :test do
gem 'rspec'
gem 'rspec-rails'
gem 'faker', '~> 1.1.2'
gem 'capybara', '~> 2.2.1'
gem 'capybara-webkit'
gem 'database_cleaner', '~> 1.0.1'
gem 'launchy', '~> 2.3.0'
gem 'selenium-webdriver'
gem 'poltergeist'
gem 'simplecov'
gem 'simplecov-rcov'
gem 'spring-commands-rspec'
end
rails g rails_config:install
rails generate rspec:install
rails g devise:install
rails g devise user
rails generate devise:views users
devise_for :users, only: [], :controllers => {
sessions: 'users/sessions',
registrations: 'users/registrations',
passwords: 'users/passwords'
}
# This file is copied to spec/ when you run 'rails generate rspec:install'
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
#require 'rspec/autorun'
require 'capybara'
require 'capybara/rails'
require 'capybara/rspec'
require 'capybara/poltergeist'
require 'simplecov'
require 'simplecov-rcov'
require 'rake'
include Rake::DSL
SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
Capybara.default_driver = :poltergeist
# for devise
include Warden::Test::Helpers
#include Rails.application.routes.url_helpers
#Capybara.app_host = 'http://192.168.56.101'
#Capybara.app_host = 'http://192.168.56.101'
#Capybara.server_port = 58857
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, {js_errors: false, default_wait_time: 30, timeout: 100})
end
Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
ActiveRecord::Migration.check_pending! if defined?(ActiveRecord::Migration)
RSpec.configure do |config|
config.include Devise::TestHelpers, :type => :controller
#config.extend ControllerMacros, :type => :controller
config.include FactoryGirl::Syntax::Methods
config.fixture_path = "#{::Rails.root}/spec/fixtures"
config.use_transactional_fixtures = true
config.infer_base_class_for_anonymous_controllers = false
config.order = "random"
config.infer_spec_type_from_file_location!
config.include FactoryGirl::Syntax::Methods
config.before(:all) do
FactoryGirl.reload
end
def has_error_tag? (target, errors, tag=nil)
target.valid?
errors = target.errors.messages[errors]
return false if errors.blank?
return true if tag.nil?
errors.each do |string|
if string.is_a?(TaggedString)
return true if string.tag == tag
end
end
false
end
def save_ss(page, num)
page.save_screenshot "tmp/capybara/" + num.to_s + '.png'
end
def file_uploaded(path, type)
Rack::Test::UploadedFile.new(path, type)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment