Skip to content

Commit 931c181

Browse files
committed
dev env changes: capybara, poltergeist, spec/rails_helpers
1 parent 302aeff commit 931c181

File tree

8 files changed

+47
-11
lines changed

8 files changed

+47
-11
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
.idea
1212
.sass-cache
1313
.vagrant
14+
.rspec
1415
.yardoc
1516
/.bundle
1617
/config/application.yml
@@ -56,3 +57,4 @@ git_stats
5657
vcr_cassettes
5758
dump
5859
BACKUP
60+
Guardfile

.rspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
--require spec_helper
2-
--format Fuubar
2+
--format documentation
33
--color
4-
--profile
4+
#--profile

Gemfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@ group :test do
169169
# gem 'rspec-its'
170170
gem 'capybara'
171171
gem 'capybara-screenshot'
172+
gem 'rack_session_access' # allows to set session from within Capybara
173+
gem 'poltergeist' # headless js driver for Capybara that uses phantomJs
172174
gem 'codeclimate-test-reporter', require: false
173175
gem 'database_cleaner'
174176
gem 'fuubar', '2.0.0.rc1'

Gemfile.lock

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ GEM
140140
choice (0.1.6)
141141
chronic (0.10.2)
142142
chunky_png (1.3.1)
143+
cliver (0.3.2)
143144
clockwork (0.7.7)
144145
activesupport
145146
tzinfo
@@ -431,6 +432,11 @@ GEM
431432
slop (~> 3.4, >= 3.4.5)
432433
pg (0.17.1)
433434
pg_array_parser (0.0.9)
435+
poltergeist (1.5.1)
436+
capybara (~> 2.1)
437+
cliver (~> 0.3.1)
438+
multi_json (~> 1.0)
439+
websocket-driver (>= 0.2.0)
434440
polyamorous (0.5.0)
435441
activerecord (~> 3.0)
436442
polyglot (0.3.5)
@@ -485,6 +491,9 @@ GEM
485491
rack
486492
rack-test (0.6.2)
487493
rack (>= 1.0)
494+
rack_session_access (0.1.1)
495+
builder (>= 2.0.0)
496+
rack (>= 1.0.0)
488497
rails (3.2.19)
489498
actionmailer (= 3.2.19)
490499
actionpack (= 3.2.19)
@@ -700,6 +709,7 @@ GEM
700709
addressable (>= 2.2.7)
701710
crack (>= 0.3.2)
702711
websocket (1.2.0)
712+
websocket-driver (0.3.5)
703713
xpath (2.0.0)
704714
nokogiri (~> 1.3)
705715
yard (0.8.7.4)
@@ -776,13 +786,15 @@ DEPENDENCIES
776786
omniauth-linkedin (~> 0.0.6)
777787
omniauth-twitter (~> 0.0.16)
778788
pg
789+
poltergeist
779790
postgres_ext
780791
pry-byebug
781792
pry-rescue
782793
pubnub (= 0.1.9)
783794
puma
784795
querystring
785796
quiet_assets
797+
rack_session_access
786798
rails (~> 3.2)
787799
rails-assets-font-awesome
788800
rails-assets-jquery-cookie (= 1.4.0)

config/environments/development.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,6 @@
3434
Rails.application.config.sass.cache_location = "/tmp/codewall-cache/sass/"
3535

3636
BetterErrors::Middleware.allow_ip! ENV['TRUSTED_IP'] if ENV['TRUSTED_IP']
37+
Rails.logger = Logger.new(STDOUT)
38+
Rails.logger.level = Logger::DEBUG
3739
end

config/environments/test.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
config.cache_classes = false
44
config.whiny_nils = true
55
config.consider_all_requests_local = true
6-
config.action_dispatch.show_exceptions = false
6+
config.action_dispatch.show_exceptions = true
77
config.action_controller.allow_forgery_protection = false
88
config.action_mailer.delivery_method = :test
99
config.active_support.deprecation = :stderr
@@ -13,4 +13,9 @@
1313

1414
# Allow pass debug_assets=true as a query parameter to load pages with unpackaged assets
1515
config.assets.allow_debugging = true
16+
17+
config.middleware.use RackSessionAccess::Middleware # alloes to set session from within Capybara
18+
19+
Rails.logger = Logger.new(STDOUT)
20+
Rails.logger.level = Logger::DEBUG # provides more verbose output testing with headless browsers in case of errors
1621
end

spec/rails_helper.rb

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,15 @@
1-
require 'spec_helper.rb'
1+
require 'spec_helper.rb'
2+
require 'capybara/poltergeist'
3+
require 'rack_session_access/capybara'
4+
5+
Capybara.javascript_driver = :poltergeist
6+
Capybara.default_wait_time = 5
7+
8+
RSpec.configure do |config|
9+
config.before(:example, js: :true) do
10+
DatabaseCleaner.strategy = :truncation
11+
ActiveRecord::Base.establish_connection
12+
end
13+
14+
config.include Features::GeneralHelpers, type: :feature
15+
end

spec/spec_helper.rb

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,25 +29,24 @@
2929
config.use_transactional_fixtures = false
3030
config.use_transactional_examples = false
3131

32-
config.before(:all) do
32+
config.before(:suite) do
3333
Redis.current.SELECT(testdb = 1)
3434
Redis.current.flushdb
35-
3635
end
3736

3837
config.before(:suite) do
39-
40-
DatabaseCleaner.strategy = :transaction
4138
DatabaseCleaner.clean_with(:truncation)
4239
end
4340

44-
config.before(:each) do
45-
Mongoid::Sessions.default.collections.reject { |c| c.name =~ /^system/ }.each(&:drop)
41+
config.before(:example) do
42+
DatabaseCleaner.strategy = :transaction
4643
DatabaseCleaner.start
44+
45+
Mongoid::Sessions.default.collections.reject { |c| c.name =~ /^system/ }.each(&:drop)
4746
ActionMailer::Base.deliveries.clear
4847
end
4948

50-
config.after(:each) do
49+
config.after(:example) do
5150
DatabaseCleaner.clean
5251
end
5352

0 commit comments

Comments
 (0)