pludoni_rspec 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: d4998d9cdafaadd530d99b26536b55af355de3cb
4
- data.tar.gz: a855332c0e22678dea56e2b6536e1cdc606b94e4
2
+ SHA256:
3
+ metadata.gz: c393669f7cd2eaecf5c0c3d3011b3a153e2252b7291146bba6a833d2bf8571f0
4
+ data.tar.gz: 4c94fd50de54c29c42480dbb7416835886e10c7323ae8d88cb1f09a64c6dc048
5
5
  SHA512:
6
- metadata.gz: 00bd9733761f5fbc9ac0d18caa9bbff5348972c1c92ce6f5497d0f4f3ac0a195b0578ce69e2e6dc0e67dba9cf4694a754eae112cafc42bae19810ae7003cf83c
7
- data.tar.gz: 56b9434d2c94dd70cdb63a73e824d7581bf1e81373301e3f818fd999a50166059732251206c8fcf195656d6854f9a8a7002ad0aff7563331d3744953cb38cfd1
6
+ metadata.gz: b0571f7aa1375504f111b4e947145a35bd59672781b5119fcf376ee1ba1454a3ab26b1dd3e653d492c9f1a3df5a9a52d6acbc084d1c9289dfa92f6c7e3b22f50
7
+ data.tar.gz: ce140a811dd31f7221afaed0bbcf8908c2fe8d91d416f4fc731dd2fb197662e83dfaf7db18cfc2bd42f7fc1d2b78c2354b5fb746a70991f606c82b6b0a2f44e4
data/Gemfile.lock CHANGED
@@ -1,9 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pludoni_rspec (0.3.0)
4
+ pludoni_rspec (0.4.0)
5
5
  capybara (>= 3.0.0)
6
6
  chromedriver-helper (>= 1.2.0)
7
+ fuubar (>= 2.3.1)
7
8
  headless (>= 2.3.1)
8
9
  pry-rails
9
10
  puma
@@ -32,6 +33,9 @@ GEM
32
33
  coderay (1.1.2)
33
34
  docile (1.3.1)
34
35
  ffi (1.9.25)
36
+ fuubar (2.3.1)
37
+ rspec-core (~> 3.0)
38
+ ruby-progressbar (~> 1.4)
35
39
  headless (2.3.1)
36
40
  io-like (0.3.0)
37
41
  json (2.1.0)
@@ -51,6 +55,10 @@ GEM
51
55
  rack-test (1.0.0)
52
56
  rack (>= 1.0, < 3)
53
57
  rake (10.5.0)
58
+ rspec-core (3.7.1)
59
+ rspec-support (~> 3.7.0)
60
+ rspec-support (3.7.1)
61
+ ruby-progressbar (1.9.0)
54
62
  rubyzip (1.2.1)
55
63
  selenium-webdriver (3.12.0)
56
64
  childprocess (~> 0.5)
@@ -72,4 +80,4 @@ DEPENDENCIES
72
80
  rake (~> 10.0)
73
81
 
74
82
  BUNDLED WITH
75
- 1.16.0
83
+ 1.16.2
data/README.md CHANGED
@@ -14,34 +14,37 @@ PludoniRspec.run
14
14
  What's done:
15
15
 
16
16
  * Maintain Test Schema
17
- * spec/support/**.rb will be loaded for overriding
18
- * freeze_time: '' Tag for examples. If Timecop is available, this will be used, otherwise Rails 5.x default travel_to
19
- * Simplecov coverage started at beginning
17
+ * ``spec/support/**.rb`` will be loaded for overriding in projects
18
+ * ``describe 'what', freeze_time: '2018-01-01 12:00' do`` Tag for examples. If Timecop is available, this will be used, otherwise Rails 5.x default travel_to
19
+ * Simplecov coverage recording started at beginning
20
20
  * Capybara+Chromedriver config with Chromedriver, Headless (will probably not work on OSX though)
21
21
  * Available Helper:
22
- * console_logs
23
- * drop_in_dropzone(file_path)
24
- * screenshot
25
- * skip_confirm(page)
26
- * in_browser('user_1') do ... end
22
+ * ``console_logs`` - Show console log output of browser
23
+ * ``drop_in_dropzone(file_path)`` - drop a file into the first "Dropzone"
24
+ * ``screenshot(path=nil)`` - make a screenshot to public/screenshots/*.png
25
+ * ``skip_confirm(page)`` - ignore all confirm('') alert boxes from now
26
+ * ``in_browser('user_1') do ... end`` - simulate multi-user scenarios / change browser session
27
27
 
28
28
  * Rspec configs:
29
- * tmp/rspec.failed.txt to enable --next-failure / --only-failures switches
29
+ * Persistence Path: ``tmp/rspec.failed.txt`` to enable --next-failure / --only-failures switches
30
+ * executable: ``nf`` and ``of``
31
+ * nf -> rspec --next-failure
32
+ * of -> rspec --only-failures
30
33
  * clears ActionMailer deliveries before each scenario
31
- * default backtrace without rails, fabication, grape, rack
34
+ * default backtrace without rails, fabrication, grape, rack
32
35
  * fixtures in spec/fixtures
33
- * Transactional Fixtures enabled - no DatabaseCleaner needed anymore
34
- * VCR Config sensible VCR is available (not required by Gem)
35
- * executable: nf and of
36
- * nf -> rspec --next-failure
37
- * of -> rspec --only-failures
38
- * Devise Test helpers loaded, if Devise is available, and included in Controller specs
36
+ * Transactional Fixtures enabled - no DatabaseCleaner needed anymore for Rails > 5.1
37
+
38
+ Optional - Loaded if companion gem is available:
39
+
40
+ * VCR - sensible VCR is available (not required by Gem)
41
+ * Devise - Test helpers loaded, if Devise is available, and included in Controller specs
39
42
 
40
43
  * Shared Contexts that can be included on demand:
41
- * include_context 'mails' - For working with ActionMailer::Base.deliveries
44
+ * ``include_context 'mails'`` - For working with ActionMailer::Base.deliveries
42
45
  * mails_with(to: '') - Filter mails sent to a user
43
46
  * last_mail == ActionMailer::Base.deliveries.last
44
47
  * mails == ActionMailer::Base.deliveries
45
48
  * extract_link_from(last_mail, link: 0) - gets you the link (without protocol + host) of the first link in the last mail with a html body
46
- * include_context 'active_job_inline'
49
+ * ``include_context 'active_job_inline'``
47
50
  * all ActiveJobs will be run immediately in this group
@@ -29,15 +29,16 @@ RSpec.configure do |c|
29
29
  end
30
30
  c.around(:all, js: true) do |ex|
31
31
  begin
32
- if !@headless and RbConfig::CONFIG['host_os']['linux']
32
+ if !@headless and PludoniRspec::Config.wrap_js_spec_in_headless
33
33
  @headless = Headless.new(destroy_at_exit: true, reuse: true)
34
34
  @headless.start
35
35
  end
36
- # @headless = Headless.new
37
- # @headless.start
38
36
  ex.run
39
37
  ensure
40
- @headless.destroy if @headless
38
+ if @headless and PludoniRspec::Config.destroy_headless
39
+ puts "DESTROY HEADLESS"
40
+ @headless.destroy
41
+ end
41
42
  end
42
43
  end
43
44
  end
@@ -50,4 +51,4 @@ RSpec.configure do |config|
50
51
  config.include PludoniRspec::SystemTestChromeHelper, type: :feature
51
52
  config.include PludoniRspec::SystemTestChromeHelper, type: :system
52
53
  end
53
- Capybara.default_max_wait_time = 60
54
+ Capybara.default_max_wait_time = 30
@@ -1,3 +1,3 @@
1
1
  module PludoniRspec
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
data/lib/pludoni_rspec.rb CHANGED
@@ -6,15 +6,20 @@ module PludoniRspec
6
6
  class << self
7
7
  attr_accessor :chrome_driver_version
8
8
  attr_accessor :chrome_window_size
9
+ attr_accessor :destroy_headless
10
+ attr_accessor :wrap_js_spec_in_headless
9
11
  end
10
12
  self.chrome_driver_version = "2.36"
11
13
  self.chrome_window_size = '1600,1200'
14
+ self.destroy_headless = true
15
+ self.wrap_js_spec_in_headless = RbConfig::CONFIG['host_os']['linux']
12
16
  end
13
17
  def self.run
14
18
  ENV["RAILS_ENV"] ||= 'test'
15
19
  coverage!
16
20
  require 'pry'
17
21
  require File.expand_path("config/environment", Dir.pwd)
22
+ abort("The Rails environment is running in production mode!") if Rails.env.production?
18
23
  require 'rspec/rails'
19
24
 
20
25
  require 'pludoni_rspec/spec_helper'
@@ -23,9 +23,10 @@ Gem::Specification.new do |spec|
23
23
  # spec.add_dependency "vcr", ">= 3.0.0"
24
24
  spec.add_dependency 'capybara', ">= 3.0.0"
25
25
  spec.add_dependency 'chromedriver-helper', ">= 1.2.0"
26
+ spec.add_dependency 'fuubar', '>= 2.3.1'
26
27
  spec.add_dependency 'headless', ">= 2.3.1"
27
- spec.add_dependency 'puma'
28
28
  spec.add_dependency 'pry-rails'
29
+ spec.add_dependency 'puma'
29
30
  spec.add_dependency 'selenium-webdriver', ">= 3.12.0"
30
31
  spec.add_dependency 'simplecov', ">= 0.16.1"
31
32
  spec.add_development_dependency "bundler", "~> 1.16"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pludoni_rspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan Wienert
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-06-11 00:00:00.000000000 Z
11
+ date: 2018-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capybara
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.2.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: fuubar
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 2.3.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 2.3.1
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: headless
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +67,7 @@ dependencies:
53
67
  - !ruby/object:Gem::Version
54
68
  version: 2.3.1
55
69
  - !ruby/object:Gem::Dependency
56
- name: puma
70
+ name: pry-rails
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - ">="
@@ -67,7 +81,7 @@ dependencies:
67
81
  - !ruby/object:Gem::Version
68
82
  version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
- name: pry-rails
84
+ name: puma
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - ">="
@@ -185,7 +199,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
199
  version: '0'
186
200
  requirements: []
187
201
  rubyforge_project:
188
- rubygems_version: 2.6.13
202
+ rubygems_version: 2.7.7
189
203
  signing_key:
190
204
  specification_version: 4
191
205
  summary: pludoni GmbH's RSpec template. Just require in spec_helper