pludoni_rspec 0.5.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/Gemfile.lock +110 -53
- data/README.md +20 -0
- data/lib/pludoni_rspec.rb +25 -5
- data/lib/pludoni_rspec/apparition.rb +44 -0
- data/lib/pludoni_rspec/capybara.rb +10 -32
- data/lib/pludoni_rspec/spec_helper.rb +15 -0
- data/lib/pludoni_rspec/system_test_chrome_helper.rb +22 -0
- data/lib/pludoni_rspec/vcr.rb +5 -0
- data/lib/pludoni_rspec/version.rb +1 -1
- data/pludoni_rspec.gemspec +13 -5
- metadata +113 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 5ce3524dca25e4a41f37fe2135924b1cdbd1e1ff0fa7e83cd5501c9cf6d55123
|
4
|
+
data.tar.gz: 9b6f43e2fbe7149ee26567f1e3d9d0156ca71325ba9dc7f361ee901eade94066
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2737c05b3e5bd855247e942cdb4d5006af3f2e5a386d55180f135c8d555db81ed60a98d4e1f34fea16b9198831443ea484f142dbfd788232edc01882399f5737
|
7
|
+
data.tar.gz: c6fa190fa8e274c3b52fcf91b8bda8d07bfb347051e2e731dba110972e6da4101b75416b89d81df273397de007e04c16eac1b295b94b9c95d0722153f30834f2
|
data/Gemfile.lock
CHANGED
@@ -1,78 +1,135 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
pludoni_rspec (0.
|
5
|
-
|
6
|
-
|
4
|
+
pludoni_rspec (0.9.0)
|
5
|
+
apparition
|
6
|
+
capybara (>= 3.13.2)
|
7
7
|
fuubar (>= 2.3.1)
|
8
|
-
geckodriver-helper (>= 0.21.0)
|
9
8
|
headless (>= 2.3.1)
|
10
9
|
pry-rails
|
11
10
|
puma
|
12
|
-
|
11
|
+
rspec_junit_formatter
|
12
|
+
rubocop
|
13
|
+
rubocop-performance
|
14
|
+
rubocop-rails
|
15
|
+
rubocop-rspec
|
16
|
+
selenium-webdriver (>= 3.141.0)
|
13
17
|
simplecov (>= 0.16.1)
|
18
|
+
simplecov-cobertura
|
19
|
+
webdrivers (>= 4.0.0)
|
14
20
|
|
15
21
|
GEM
|
16
22
|
remote: https://rubygems.org/
|
17
23
|
specs:
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
24
|
+
activesupport (6.1.3.1)
|
25
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
26
|
+
i18n (>= 1.6, < 2)
|
27
|
+
minitest (>= 5.1)
|
28
|
+
tzinfo (~> 2.0)
|
29
|
+
zeitwerk (~> 2.3)
|
30
|
+
addressable (2.7.0)
|
31
|
+
public_suffix (>= 2.0.2, < 5.0)
|
32
|
+
apparition (0.6.0)
|
33
|
+
capybara (~> 3.13, < 4)
|
34
|
+
websocket-driver (>= 0.6.5)
|
35
|
+
ast (2.4.2)
|
36
|
+
capybara (3.35.3)
|
23
37
|
addressable
|
24
38
|
mini_mime (>= 0.1.3)
|
25
39
|
nokogiri (~> 1.8)
|
26
40
|
rack (>= 1.6.0)
|
27
41
|
rack-test (>= 0.6.3)
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
docile (1.3.1)
|
36
|
-
ffi (1.9.25)
|
37
|
-
fuubar (2.3.1)
|
42
|
+
regexp_parser (>= 1.5, < 3.0)
|
43
|
+
xpath (~> 3.2)
|
44
|
+
childprocess (3.0.0)
|
45
|
+
coderay (1.1.3)
|
46
|
+
concurrent-ruby (1.1.8)
|
47
|
+
docile (1.3.5)
|
48
|
+
fuubar (2.5.1)
|
38
49
|
rspec-core (~> 3.0)
|
39
50
|
ruby-progressbar (~> 1.4)
|
40
|
-
geckodriver-helper (0.21.0)
|
41
|
-
archive-zip (~> 0.7)
|
42
51
|
headless (2.3.1)
|
43
|
-
|
44
|
-
|
45
|
-
method_source (0.
|
46
|
-
mini_mime (1.0.
|
47
|
-
mini_portile2 (2.
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
52
|
+
i18n (1.8.9)
|
53
|
+
concurrent-ruby (~> 1.0)
|
54
|
+
method_source (1.0.0)
|
55
|
+
mini_mime (1.0.3)
|
56
|
+
mini_portile2 (2.5.0)
|
57
|
+
minitest (5.14.4)
|
58
|
+
nio4r (2.5.7)
|
59
|
+
nokogiri (1.11.2)
|
60
|
+
mini_portile2 (~> 2.5.0)
|
61
|
+
racc (~> 1.4)
|
62
|
+
parallel (1.20.1)
|
63
|
+
parser (3.0.0.0)
|
64
|
+
ast (~> 2.4.1)
|
65
|
+
pry (0.14.0)
|
66
|
+
coderay (~> 1.1)
|
67
|
+
method_source (~> 1.0)
|
68
|
+
pry-rails (0.3.9)
|
54
69
|
pry (>= 0.10.4)
|
55
|
-
public_suffix (
|
56
|
-
puma (
|
57
|
-
|
58
|
-
|
70
|
+
public_suffix (4.0.6)
|
71
|
+
puma (5.2.2)
|
72
|
+
nio4r (~> 2.0)
|
73
|
+
racc (1.5.2)
|
74
|
+
rack (2.2.3)
|
75
|
+
rack-test (1.1.0)
|
59
76
|
rack (>= 1.0, < 3)
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
77
|
+
rainbow (3.0.0)
|
78
|
+
rake (13.0.1)
|
79
|
+
regexp_parser (2.1.1)
|
80
|
+
rexml (3.2.4)
|
81
|
+
rspec-core (3.10.1)
|
82
|
+
rspec-support (~> 3.10.0)
|
83
|
+
rspec-support (3.10.2)
|
84
|
+
rspec_junit_formatter (0.4.1)
|
85
|
+
rspec-core (>= 2, < 4, != 2.12.0)
|
86
|
+
rubocop (1.12.0)
|
87
|
+
parallel (~> 1.10)
|
88
|
+
parser (>= 3.0.0.0)
|
89
|
+
rainbow (>= 2.2.2, < 4.0)
|
90
|
+
regexp_parser (>= 1.8, < 3.0)
|
91
|
+
rexml
|
92
|
+
rubocop-ast (>= 1.2.0, < 2.0)
|
93
|
+
ruby-progressbar (~> 1.7)
|
94
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
95
|
+
rubocop-ast (1.4.1)
|
96
|
+
parser (>= 2.7.1.5)
|
97
|
+
rubocop-performance (1.10.2)
|
98
|
+
rubocop (>= 0.90.0, < 2.0)
|
99
|
+
rubocop-ast (>= 0.4.0)
|
100
|
+
rubocop-rails (2.9.1)
|
101
|
+
activesupport (>= 4.2.0)
|
102
|
+
rack (>= 1.1)
|
103
|
+
rubocop (>= 0.90.0, < 2.0)
|
104
|
+
rubocop-rspec (2.2.0)
|
105
|
+
rubocop (~> 1.0)
|
106
|
+
rubocop-ast (>= 1.1.0)
|
107
|
+
ruby-progressbar (1.11.0)
|
108
|
+
rubyzip (2.3.0)
|
109
|
+
selenium-webdriver (3.142.7)
|
110
|
+
childprocess (>= 0.5, < 4.0)
|
111
|
+
rubyzip (>= 1.2.2)
|
112
|
+
simplecov (0.21.2)
|
70
113
|
docile (~> 1.1)
|
71
|
-
|
72
|
-
|
73
|
-
simplecov-
|
74
|
-
|
114
|
+
simplecov-html (~> 0.11)
|
115
|
+
simplecov_json_formatter (~> 0.1)
|
116
|
+
simplecov-cobertura (1.4.2)
|
117
|
+
simplecov (~> 0.8)
|
118
|
+
simplecov-html (0.12.3)
|
119
|
+
simplecov_json_formatter (0.1.2)
|
120
|
+
tzinfo (2.0.4)
|
121
|
+
concurrent-ruby (~> 1.0)
|
122
|
+
unicode-display_width (2.0.0)
|
123
|
+
webdrivers (4.6.0)
|
124
|
+
nokogiri (~> 1.6)
|
125
|
+
rubyzip (>= 1.3.0)
|
126
|
+
selenium-webdriver (>= 3.0, < 4.0)
|
127
|
+
websocket-driver (0.7.3)
|
128
|
+
websocket-extensions (>= 0.1.0)
|
129
|
+
websocket-extensions (0.1.5)
|
130
|
+
xpath (3.2.0)
|
75
131
|
nokogiri (~> 1.8)
|
132
|
+
zeitwerk (2.4.2)
|
76
133
|
|
77
134
|
PLATFORMS
|
78
135
|
ruby
|
@@ -80,7 +137,7 @@ PLATFORMS
|
|
80
137
|
DEPENDENCIES
|
81
138
|
bundler (~> 1.16)
|
82
139
|
pludoni_rspec!
|
83
|
-
rake (~>
|
140
|
+
rake (~> 13.0)
|
84
141
|
|
85
142
|
BUNDLED WITH
|
86
|
-
1.
|
143
|
+
1.17.3
|
data/README.md
CHANGED
@@ -50,3 +50,23 @@ Optional - Loaded if companion gem is available:
|
|
50
50
|
* 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
|
51
51
|
* ``include_context 'active_job_inline'``
|
52
52
|
* all ActiveJobs will be run immediately in this group
|
53
|
+
|
54
|
+
### Gitlab coverage + test report
|
55
|
+
|
56
|
+
Gitlab supports inlining test-coverage + showing detailed failed/passed test statistics. This gems includes the necessary formatters. Coverage is automatically loaded in CI. For test case integration, add the RspecJunitFormatter to the rspec command in your ``bin/ci``/run command etc.
|
57
|
+
|
58
|
+
e.g. using multiple rspec runs
|
59
|
+
|
60
|
+
```
|
61
|
+
bundle exec rspec --color --tty --failure-exit-code 0 --format RspecJunitFormatter -out rspec1.xml
|
62
|
+
bundle exec rspec --color --tty --only-failures --format RspecJunitFormatter -out rspec2.xml
|
63
|
+
```
|
64
|
+
|
65
|
+
```yaml
|
66
|
+
# .gitlab-ci.yml
|
67
|
+
artifacts:
|
68
|
+
reports:
|
69
|
+
cobertura: coverage/coverage.xml
|
70
|
+
junit: 'rspec*.xml'
|
71
|
+
```
|
72
|
+
-
|
data/lib/pludoni_rspec.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require "pludoni_rspec/version"
|
2
|
+
require 'json'
|
2
3
|
|
3
4
|
# rubocop:disable Rails/FilePath
|
4
5
|
module PludoniRspec
|
@@ -11,14 +12,16 @@ module PludoniRspec
|
|
11
12
|
attr_accessor :capybara_timeout
|
12
13
|
attr_accessor :capybara_driver
|
13
14
|
attr_accessor :firefox_arguments
|
15
|
+
attr_accessor :apparition_arguments
|
14
16
|
end
|
15
|
-
self.chrome_driver_version = "2.36"
|
16
|
-
self.destroy_headless =
|
17
|
+
# self.chrome_driver_version = "2.36"
|
18
|
+
self.destroy_headless = false
|
17
19
|
self.wrap_js_spec_in_headless = RbConfig::CONFIG['host_os']['linux']
|
18
|
-
self.chrome_arguments = ['headless', 'disable-gpu', "window-size=1600,1200", 'no-sandbox', 'disable-dev-shm-usage', 'lang=de']
|
20
|
+
# self.chrome_arguments = ['headless', 'disable-gpu', "window-size=1600,1200", 'no-sandbox', 'disable-dev-shm-usage', 'lang=de']
|
19
21
|
self.capybara_timeout = ENV['CI'] == '1' ? 30 : 5
|
20
22
|
self.firefox_arguments = ['--headless', '--window-size=1600,1200']
|
21
|
-
self.
|
23
|
+
self.apparition_arguments = { js_errors: false, screen_size: [1600, 1200], window_size: [1600, 1200], browser_logger: File.open(File::NULL, 'w') }
|
24
|
+
self.capybara_driver = :apparition
|
22
25
|
end
|
23
26
|
def self.run
|
24
27
|
ENV["RAILS_ENV"] ||= 'test'
|
@@ -29,7 +32,11 @@ module PludoniRspec
|
|
29
32
|
require 'rspec/rails'
|
30
33
|
|
31
34
|
require 'pludoni_rspec/spec_helper'
|
32
|
-
|
35
|
+
if PludoniRspec::Config.capybara_driver == :apparition
|
36
|
+
require 'pludoni_rspec/apparition'
|
37
|
+
else
|
38
|
+
require 'pludoni_rspec/capybara'
|
39
|
+
end
|
33
40
|
require 'pludoni_rspec/freeze_time'
|
34
41
|
require 'pludoni_rspec/shared_context'
|
35
42
|
if defined?(VCR)
|
@@ -43,7 +50,20 @@ module PludoniRspec
|
|
43
50
|
end
|
44
51
|
|
45
52
|
def self.coverage!
|
53
|
+
if File.exists?('coverage/.resultset.json') && (
|
54
|
+
File.ctime('coverage/.resultset.json') < (Time.now - 900) ||
|
55
|
+
(JSON.parse(File.read('coverage/.resultset.json')).keys.length > 4)
|
56
|
+
)
|
57
|
+
File.unlink('coverage/.resultset.json')
|
58
|
+
if File.exists?('coverage/.resultset.json.lock')
|
59
|
+
File.unlink('coverage/.resultset.json.lock')
|
60
|
+
end
|
61
|
+
end
|
46
62
|
require 'simplecov'
|
63
|
+
SimpleCov.command_name "spec:#{Time.now.to_i}"
|
64
|
+
if ENV['CI']
|
65
|
+
SimpleCov.formatter = SimpleCov::Formatter::CoberturaFormatter
|
66
|
+
end
|
47
67
|
SimpleCov.start 'rails' do
|
48
68
|
add_filter do |source_file|
|
49
69
|
source_file.lines.count < 10
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require "capybara"
|
2
|
+
require "headless"
|
3
|
+
require "puma"
|
4
|
+
require 'pludoni_rspec/system_test_chrome_helper'
|
5
|
+
|
6
|
+
require 'capybara/apparition'
|
7
|
+
Capybara.register_driver :apparition_debug do |app|
|
8
|
+
Capybara::Apparition::Driver.new(app, js_errors: true, browser_options: { 'no-sandbox' => true })
|
9
|
+
end
|
10
|
+
Capybara.register_driver :apparition do |app|
|
11
|
+
if ENV['CI']
|
12
|
+
options[:browser_options] = { 'no-sandbox' => true }
|
13
|
+
end
|
14
|
+
Capybara::Apparition::Driver.new(app, PludoniRspec::Config.apparition_arguments)
|
15
|
+
end
|
16
|
+
Capybara.javascript_driver = :apparition
|
17
|
+
|
18
|
+
RSpec.configure do |c|
|
19
|
+
c.include PludoniRspec::SystemTestChromeHelper, type: :feature
|
20
|
+
c.include PludoniRspec::SystemTestChromeHelper, type: :system
|
21
|
+
c.before(:all, js: true) do
|
22
|
+
# disable puma output
|
23
|
+
Capybara.server = :puma, { Silent: true }
|
24
|
+
end
|
25
|
+
c.before(:each, type: :system) do
|
26
|
+
if defined?(driven_by)
|
27
|
+
driven_by :apparition
|
28
|
+
end
|
29
|
+
end
|
30
|
+
c.around(:all, js: true) do |ex|
|
31
|
+
begin
|
32
|
+
if !@headless and PludoniRspec::Config.wrap_js_spec_in_headless
|
33
|
+
@headless = Headless.new(destroy_at_exit: true, reuse: true)
|
34
|
+
@headless.start
|
35
|
+
end
|
36
|
+
ex.run
|
37
|
+
ensure
|
38
|
+
if @headless and PludoniRspec::Config.destroy_headless
|
39
|
+
@headless.destroy
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
Capybara.default_max_wait_time = PludoniRspec::Config.capybara_timeout
|
@@ -1,48 +1,26 @@
|
|
1
1
|
require "capybara"
|
2
2
|
require "selenium-webdriver"
|
3
3
|
require "headless"
|
4
|
-
require "selenium/webdriver"
|
5
4
|
require "puma"
|
6
5
|
require 'pludoni_rspec/system_test_chrome_helper'
|
7
|
-
|
8
|
-
Capybara.register_driver :chrome do |app|
|
9
|
-
Capybara::Selenium::Driver.new(app, browser: :chrome, timeout: 300)
|
10
|
-
end
|
11
|
-
|
12
|
-
Capybara.register_driver :headless_chrome do |app|
|
13
|
-
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
|
14
|
-
'chromeOptions' => {
|
15
|
-
args: PludoniRspec::Config.chrome_arguments
|
16
|
-
}
|
17
|
-
)
|
18
|
-
|
19
|
-
Capybara::Selenium::Driver.new app,
|
20
|
-
browser: :chrome,
|
21
|
-
desired_capabilities: capabilities
|
22
|
-
end
|
23
|
-
|
24
|
-
Capybara.register_driver :headless_firefox do |app|
|
25
|
-
options = ::Selenium::WebDriver::Firefox::Options.new
|
26
|
-
options.args += PludoniRspec::Config.firefox_arguments
|
27
|
-
Capybara::Selenium::Driver.new(app, browser: :firefox, options: options)
|
28
|
-
end
|
29
|
-
|
30
|
-
if PludoniRspec::Config.capybara_driver == :headless_chrome
|
31
|
-
require "chromedriver/helper"
|
32
|
-
Chromedriver.set_version(PludoniRspec::Config.chrome_driver_version)
|
33
|
-
Capybara.javascript_driver = :headless_chrome
|
34
|
-
else
|
35
|
-
require 'geckodriver/helper'
|
36
|
-
Capybara.javascript_driver = :headless_firefox
|
37
|
-
end
|
6
|
+
require 'webdrivers/geckodriver'
|
38
7
|
|
39
8
|
RSpec.configure do |c|
|
9
|
+
c.before(:all, js: true) do
|
10
|
+
Webdrivers.cache_time = 86_400
|
11
|
+
Webdrivers::Geckodriver.update
|
12
|
+
end
|
40
13
|
c.include PludoniRspec::SystemTestChromeHelper, type: :feature
|
41
14
|
c.include PludoniRspec::SystemTestChromeHelper, type: :system
|
42
15
|
c.before(:all, js: true) do
|
43
16
|
# disable puma output
|
44
17
|
Capybara.server = :puma, { Silent: true }
|
45
18
|
end
|
19
|
+
c.before(:each, js: true) do
|
20
|
+
if defined?(driven_by)
|
21
|
+
driven_by :selenium_headless, using: :firefox, screen_size: [1400, 1400]
|
22
|
+
end
|
23
|
+
end
|
46
24
|
c.around(:all, js: true) do |ex|
|
47
25
|
begin
|
48
26
|
if !@headless and PludoniRspec::Config.wrap_js_spec_in_headless
|
@@ -3,11 +3,19 @@ RSpec.configure do |config|
|
|
3
3
|
config.expect_with :rspec do |expectations|
|
4
4
|
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
5
5
|
end
|
6
|
+
config.include RSpec::Rails::RequestExampleGroup, type: :request, file_path: /spec\/api/
|
7
|
+
config.before do
|
8
|
+
I18n.locale = I18n.default_locale
|
9
|
+
if defined?(Fabrication)
|
10
|
+
Fabrication::Sequencer.reset
|
11
|
+
end
|
12
|
+
end
|
6
13
|
|
7
14
|
config.mock_with :rspec do |mocks|
|
8
15
|
mocks.verify_partial_doubles = true
|
9
16
|
end
|
10
17
|
|
18
|
+
config.order = :defined
|
11
19
|
config.fixture_path = "#{::Rails.root}/spec/fixtures"
|
12
20
|
config.infer_spec_type_from_file_location!
|
13
21
|
config.use_transactional_fixtures = true
|
@@ -20,4 +28,11 @@ RSpec.configure do |config|
|
|
20
28
|
config.filter_gems_from_backtrace("fabrication")
|
21
29
|
config.filter_gems_from_backtrace("grape")
|
22
30
|
config.filter_gems_from_backtrace("rack")
|
31
|
+
|
32
|
+
config.around(:each, :timeout) do |example|
|
33
|
+
time = 10 unless time.kind_of?(Numeric)
|
34
|
+
Timeout.timeout(time) do
|
35
|
+
example.run
|
36
|
+
end
|
37
|
+
end
|
23
38
|
end
|
@@ -36,4 +36,26 @@ module PludoniRspec::SystemTestChromeHelper
|
|
36
36
|
yield
|
37
37
|
Capybara.session_name = old_session
|
38
38
|
end
|
39
|
+
|
40
|
+
# wait_until { page.has_content?("Something") }
|
41
|
+
def wait_until(timeout = 10, &blk)
|
42
|
+
end_time = Time.zone.now + timeout
|
43
|
+
last_exception = nil
|
44
|
+
|
45
|
+
until Time.zone.now >= end_time
|
46
|
+
begin
|
47
|
+
result = yield
|
48
|
+
return result if result
|
49
|
+
rescue RSpec::Expectations::ExpectationNotMetError => ex
|
50
|
+
last_exception = ex
|
51
|
+
end
|
52
|
+
|
53
|
+
sleep 0.01
|
54
|
+
end
|
55
|
+
|
56
|
+
msg = "timed out after #{timeout} seconds"
|
57
|
+
msg << ":\n#{last_exception.message}" if last_exception
|
58
|
+
|
59
|
+
raise msg
|
60
|
+
end
|
39
61
|
end
|
data/lib/pludoni_rspec/vcr.rb
CHANGED
@@ -2,4 +2,9 @@ VCR.configure do |config|
|
|
2
2
|
config.cassette_library_dir = "spec/fixtures/vcr_cassettes"
|
3
3
|
config.hook_into :webmock # or :fakeweb
|
4
4
|
config.ignore_localhost = true
|
5
|
+
config.ignore_request do |request|
|
6
|
+
uri = URI.parse(request.uri)
|
7
|
+
uri.port == 9200 || # Elasticsearch requests
|
8
|
+
uri.host[/^172\.17|localhost|^10\./] || request.uri.to_s['geckodriver']
|
9
|
+
end
|
5
10
|
end
|
data/pludoni_rspec.gemspec
CHANGED
@@ -21,15 +21,23 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.require_paths = ["lib"]
|
22
22
|
|
23
23
|
# spec.add_dependency "vcr", ">= 3.0.0"
|
24
|
-
spec.add_dependency "geckodriver-helper", ">= 0.
|
25
|
-
spec.add_dependency 'capybara', ">= 3.
|
26
|
-
spec.add_dependency 'chromedriver-helper', ">= 1.2.0"
|
24
|
+
# spec.add_dependency "geckodriver-helper", ">= 0.23.0"
|
25
|
+
spec.add_dependency 'capybara', ">= 3.13.2"
|
27
26
|
spec.add_dependency 'fuubar', '>= 2.3.1'
|
28
27
|
spec.add_dependency 'headless', ">= 2.3.1"
|
29
28
|
spec.add_dependency 'pry-rails'
|
30
29
|
spec.add_dependency 'puma'
|
31
|
-
|
30
|
+
# We don't need selenium, but rails system specs checks for availability
|
31
|
+
spec.add_dependency 'selenium-webdriver', ">= 3.141.0"
|
32
|
+
spec.add_dependency "webdrivers", ">= 4.0.0"
|
33
|
+
spec.add_dependency 'apparition'
|
32
34
|
spec.add_dependency 'simplecov', ">= 0.16.1"
|
35
|
+
spec.add_dependency "simplecov-cobertura"
|
36
|
+
spec.add_dependency "rspec_junit_formatter"
|
37
|
+
spec.add_dependency 'rubocop'
|
38
|
+
spec.add_dependency 'rubocop-rails'
|
39
|
+
spec.add_dependency 'rubocop-performance'
|
40
|
+
spec.add_dependency 'rubocop-rspec'
|
33
41
|
spec.add_development_dependency "bundler", "~> 1.16"
|
34
|
-
spec.add_development_dependency "rake", "~>
|
42
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
35
43
|
end
|
metadata
CHANGED
@@ -1,87 +1,115 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pludoni_rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.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:
|
11
|
+
date: 2021-03-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: capybara
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 3.13.2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 3.13.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: fuubar
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 3.
|
33
|
+
version: 2.3.1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 3.
|
40
|
+
version: 2.3.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: headless
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 2.3.1
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 2.3.1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: pry-rails
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: '0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: puma
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: '0'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: selenium-webdriver
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 3.141.0
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 3.141.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: webdrivers
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 4.0.0
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 4.0.0
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: apparition
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
86
114
|
requirements:
|
87
115
|
- - ">="
|
@@ -95,7 +123,21 @@ dependencies:
|
|
95
123
|
- !ruby/object:Gem::Version
|
96
124
|
version: '0'
|
97
125
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
126
|
+
name: simplecov
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 0.16.1
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 0.16.1
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: simplecov-cobertura
|
99
141
|
requirement: !ruby/object:Gem::Requirement
|
100
142
|
requirements:
|
101
143
|
- - ">="
|
@@ -109,33 +151,75 @@ dependencies:
|
|
109
151
|
- !ruby/object:Gem::Version
|
110
152
|
version: '0'
|
111
153
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
154
|
+
name: rspec_junit_formatter
|
113
155
|
requirement: !ruby/object:Gem::Requirement
|
114
156
|
requirements:
|
115
157
|
- - ">="
|
116
158
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
159
|
+
version: '0'
|
118
160
|
type: :runtime
|
119
161
|
prerelease: false
|
120
162
|
version_requirements: !ruby/object:Gem::Requirement
|
121
163
|
requirements:
|
122
164
|
- - ">="
|
123
165
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
166
|
+
version: '0'
|
125
167
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
168
|
+
name: rubocop
|
127
169
|
requirement: !ruby/object:Gem::Requirement
|
128
170
|
requirements:
|
129
171
|
- - ">="
|
130
172
|
- !ruby/object:Gem::Version
|
131
|
-
version: 0
|
173
|
+
version: '0'
|
132
174
|
type: :runtime
|
133
175
|
prerelease: false
|
134
176
|
version_requirements: !ruby/object:Gem::Requirement
|
135
177
|
requirements:
|
136
178
|
- - ">="
|
137
179
|
- !ruby/object:Gem::Version
|
138
|
-
version: 0
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: rubocop-rails
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :runtime
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: rubocop-performance
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
type: :runtime
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ">="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: rubocop-rspec
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
216
|
+
type: :runtime
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ">="
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
139
223
|
- !ruby/object:Gem::Dependency
|
140
224
|
name: bundler
|
141
225
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,14 +240,14 @@ dependencies:
|
|
156
240
|
requirements:
|
157
241
|
- - "~>"
|
158
242
|
- !ruby/object:Gem::Version
|
159
|
-
version: '
|
243
|
+
version: '13.0'
|
160
244
|
type: :development
|
161
245
|
prerelease: false
|
162
246
|
version_requirements: !ruby/object:Gem::Requirement
|
163
247
|
requirements:
|
164
248
|
- - "~>"
|
165
249
|
- !ruby/object:Gem::Version
|
166
|
-
version: '
|
250
|
+
version: '13.0'
|
167
251
|
description: pludoni GmbH's RSpec template. Just require in spec_helper
|
168
252
|
email:
|
169
253
|
- info@stefanwienert.de
|
@@ -185,6 +269,7 @@ files:
|
|
185
269
|
- exe/nf
|
186
270
|
- exe/of
|
187
271
|
- lib/pludoni_rspec.rb
|
272
|
+
- lib/pludoni_rspec/apparition.rb
|
188
273
|
- lib/pludoni_rspec/capybara.rb
|
189
274
|
- lib/pludoni_rspec/devise.rb
|
190
275
|
- lib/pludoni_rspec/freeze_time.rb
|
@@ -214,7 +299,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
214
299
|
version: '0'
|
215
300
|
requirements: []
|
216
301
|
rubyforge_project:
|
217
|
-
rubygems_version: 2.6
|
302
|
+
rubygems_version: 2.7.6
|
218
303
|
signing_key:
|
219
304
|
specification_version: 4
|
220
305
|
summary: pludoni GmbH's RSpec template. Just require in spec_helper
|