pludoni_rspec 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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