cypress-rails 0.5.4 → 0.6.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 +4 -4
- data/CHANGELOG.md +10 -0
- data/Gemfile.lock +31 -30
- data/README.md +2 -2
- data/cypress-rails.gemspec +1 -0
- data/lib/cypress-rails/init.rb +23 -21
- data/lib/cypress-rails/rake.rb +1 -1
- data/lib/cypress-rails/server/puma.rb +7 -7
- data/lib/cypress-rails/version.rb +1 -1
- data/script/test_example_app +1 -0
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 51850b1aa42e0669b0f94e97f73b7f9f6858ab04c6290645c29c556c5b6ccc9e
|
4
|
+
data.tar.gz: edade573f72bf936fe1489872bcbcd0ed824c8c04b4b56728260402f551e2e88
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 81c23646df18000812108410396a1b65eb3bbd8300ecdd00a37f3aca789ac567e465634690ae4a902ff6bc6baa4616782f8af5071a2ccb6379bbc3f785908c5f
|
7
|
+
data.tar.gz: 7848d68edac62c1ddb86e779b22b3eda78c1ca350661e6a95433e364ffcdbb7e708f09a88334edfafebe23f7a569f1958e39b535a264fa2b80633e0afd0e7322
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## 0.6.0
|
4
|
+
|
5
|
+
* Update initializer task to generate valid Cypress v10+ configurations
|
6
|
+
[#156](https://github.com/testdouble/cypress-rails/pull/156)
|
7
|
+
|
8
|
+
## 0.5.5
|
9
|
+
|
10
|
+
* Add Puma 6 support
|
11
|
+
[#136](https://github.com/testdouble/cypress-rails/pull/136)
|
12
|
+
|
3
13
|
## 0.5.4
|
4
14
|
|
5
15
|
* Fix Rails 5 support
|
data/Gemfile.lock
CHANGED
@@ -1,65 +1,66 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cypress-rails (0.
|
4
|
+
cypress-rails (0.6.0)
|
5
5
|
puma (>= 3.8.0)
|
6
6
|
railties (>= 5.2.0)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
actionpack (7.0.
|
12
|
-
actionview (= 7.0.
|
13
|
-
activesupport (= 7.0.
|
14
|
-
rack (~> 2.0, >= 2.2.
|
11
|
+
actionpack (7.0.5)
|
12
|
+
actionview (= 7.0.5)
|
13
|
+
activesupport (= 7.0.5)
|
14
|
+
rack (~> 2.0, >= 2.2.4)
|
15
15
|
rack-test (>= 0.6.3)
|
16
16
|
rails-dom-testing (~> 2.0)
|
17
17
|
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
18
|
-
actionview (7.0.
|
19
|
-
activesupport (= 7.0.
|
18
|
+
actionview (7.0.5)
|
19
|
+
activesupport (= 7.0.5)
|
20
20
|
builder (~> 3.1)
|
21
21
|
erubi (~> 1.4)
|
22
22
|
rails-dom-testing (~> 2.0)
|
23
23
|
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
24
|
-
activesupport (7.0.
|
24
|
+
activesupport (7.0.5)
|
25
25
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
26
26
|
i18n (>= 1.6, < 2)
|
27
27
|
minitest (>= 5.1)
|
28
28
|
tzinfo (~> 2.0)
|
29
29
|
ast (2.4.2)
|
30
30
|
builder (3.2.4)
|
31
|
-
concurrent-ruby (1.
|
31
|
+
concurrent-ruby (1.2.2)
|
32
32
|
crass (1.0.6)
|
33
|
-
erubi (1.
|
34
|
-
i18n (1.
|
33
|
+
erubi (1.12.0)
|
34
|
+
i18n (1.14.1)
|
35
35
|
concurrent-ruby (~> 1.0)
|
36
|
-
loofah (2.
|
36
|
+
loofah (2.21.3)
|
37
37
|
crass (~> 1.0.2)
|
38
|
-
nokogiri (>= 1.
|
38
|
+
nokogiri (>= 1.12.0)
|
39
39
|
method_source (1.0.0)
|
40
|
-
mini_portile2 (2.8.
|
40
|
+
mini_portile2 (2.8.2)
|
41
41
|
minitest (5.15.0)
|
42
|
-
nio4r (2.5.
|
43
|
-
nokogiri (1.
|
44
|
-
mini_portile2 (~> 2.8.
|
42
|
+
nio4r (2.5.9)
|
43
|
+
nokogiri (1.15.2)
|
44
|
+
mini_portile2 (~> 2.8.2)
|
45
45
|
racc (~> 1.4)
|
46
46
|
parallel (1.22.1)
|
47
47
|
parser (3.1.2.0)
|
48
48
|
ast (~> 2.4.1)
|
49
|
-
puma (
|
49
|
+
puma (6.3.0)
|
50
50
|
nio4r (~> 2.0)
|
51
|
-
racc (1.6.
|
52
|
-
rack (2.2.
|
53
|
-
rack-test (
|
54
|
-
rack (>= 1.
|
51
|
+
racc (1.6.2)
|
52
|
+
rack (2.2.7)
|
53
|
+
rack-test (2.1.0)
|
54
|
+
rack (>= 1.3)
|
55
55
|
rails-dom-testing (2.0.3)
|
56
56
|
activesupport (>= 4.2.0)
|
57
57
|
nokogiri (>= 1.6)
|
58
|
-
rails-html-sanitizer (1.
|
59
|
-
loofah (~> 2.
|
60
|
-
|
61
|
-
|
62
|
-
|
58
|
+
rails-html-sanitizer (1.6.0)
|
59
|
+
loofah (~> 2.21)
|
60
|
+
nokogiri (~> 1.14)
|
61
|
+
railties (7.0.5)
|
62
|
+
actionpack (= 7.0.5)
|
63
|
+
activesupport (= 7.0.5)
|
63
64
|
method_source
|
64
65
|
rake (>= 12.2)
|
65
66
|
thor (~> 1.0)
|
@@ -86,11 +87,11 @@ GEM
|
|
86
87
|
standard (1.12.1)
|
87
88
|
rubocop (= 1.29.1)
|
88
89
|
rubocop-performance (= 1.13.3)
|
89
|
-
thor (1.2.
|
90
|
-
tzinfo (2.0.
|
90
|
+
thor (1.2.2)
|
91
|
+
tzinfo (2.0.6)
|
91
92
|
concurrent-ruby (~> 1.0)
|
92
93
|
unicode-display_width (2.1.0)
|
93
|
-
zeitwerk (2.
|
94
|
+
zeitwerk (2.6.8)
|
94
95
|
|
95
96
|
PLATFORMS
|
96
97
|
ruby
|
data/README.md
CHANGED
@@ -50,7 +50,7 @@ Once installed, you'll want to run:
|
|
50
50
|
$ rake cypress:init
|
51
51
|
```
|
52
52
|
|
53
|
-
This will override a few configurations in your `cypress.
|
53
|
+
This will override a few configurations in your `cypress.config.js` configuration
|
54
54
|
file.
|
55
55
|
|
56
56
|
## Usage
|
@@ -161,7 +161,7 @@ preferred environment variables project-wide using a tool like
|
|
161
161
|
the Rails test server on
|
162
162
|
* **CYPRESS_RAILS_BASE_PATH** (default: `"/"`) the base path for all Cypress's
|
163
163
|
requests to the app (e.g. via `cy.visit()`). If you've customized your
|
164
|
-
`baseUrl` setting (e.g. in `cypress.
|
164
|
+
`baseUrl` setting (e.g. in `cypress.config.js`), you'll need to duplicate it with
|
165
165
|
this environment variable
|
166
166
|
* **CYPRESS_RAILS_TRANSACTIONAL_SERVER** (default: `true`) when true, will start
|
167
167
|
a transaction on all database connections before launching the server. In
|
data/cypress-rails.gemspec
CHANGED
@@ -11,6 +11,7 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.summary = "Helps you write Cypress tests of your Rails app"
|
12
12
|
spec.homepage = "https://github.com/testdouble/cypress-rails"
|
13
13
|
spec.license = "MIT"
|
14
|
+
spec.metadata["rubygems_mfa_required"] = "true"
|
14
15
|
|
15
16
|
# Specify which files should be added to the gem when it is released.
|
16
17
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
data/lib/cypress-rails/init.rb
CHANGED
@@ -1,30 +1,32 @@
|
|
1
1
|
module CypressRails
|
2
2
|
class Init
|
3
|
-
DEFAULT_CONFIG =
|
4
|
-
|
5
|
-
"videosFolder" => "tmp/cypress_videos",
|
6
|
-
"trashAssetsBeforeRuns" => false
|
7
|
-
}
|
3
|
+
DEFAULT_CONFIG = <<~JS
|
4
|
+
const { defineConfig } = require('cypress')
|
8
5
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
6
|
+
module.exports = defineConfig({
|
7
|
+
// setupNodeEvents can be defined in either
|
8
|
+
// the e2e or component configuration
|
9
|
+
e2e: {
|
10
|
+
setupNodeEvents(on, config) {
|
11
|
+
on('before:browser:launch', (browser = {}, launchOptions) => {
|
12
|
+
/* ... */
|
13
|
+
})
|
14
|
+
},
|
15
|
+
},
|
16
|
+
screenshotsFolder: "tmp/cypress_screenshots",
|
17
|
+
videosFolder: "tmp/cypress_videos",
|
18
|
+
trashAssetsBeforeRuns: false
|
19
|
+
})
|
20
|
+
JS
|
17
21
|
|
18
|
-
def
|
19
|
-
|
20
|
-
|
22
|
+
def call(dir = Dir.pwd)
|
23
|
+
config_path = File.join(dir, "cypress.config.js")
|
24
|
+
if !File.exist?(config_path)
|
25
|
+
File.write(config_path, DEFAULT_CONFIG)
|
26
|
+
puts "Cypress config initialized in `#{config_path}'"
|
21
27
|
else
|
22
|
-
|
28
|
+
warn "Cypress config already exists in `#{config_path}'. Skipping."
|
23
29
|
end
|
24
30
|
end
|
25
|
-
|
26
|
-
def merge_existing_with_defaults(json_path)
|
27
|
-
JSON.parse(File.read(json_path)).merge(DEFAULT_CONFIG).sort.to_h
|
28
|
-
end
|
29
31
|
end
|
30
32
|
end
|
data/lib/cypress-rails/rake.rb
CHANGED
@@ -12,18 +12,18 @@ module CypressRails
|
|
12
12
|
|
13
13
|
conf = Rack::Handler::Puma.config(app, options)
|
14
14
|
conf.clamp
|
15
|
-
|
15
|
+
logger = (defined?(::Puma::LogWriter) ? ::Puma::LogWriter : ::Puma::Events).stdio
|
16
16
|
|
17
17
|
puma_ver = Gem::Version.new(::Puma::Const::PUMA_VERSION)
|
18
18
|
require_relative "patches/puma_ssl" if (Gem::Version.new("4.0.0")...Gem::Version.new("4.1.0")).cover? puma_ver
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
|
20
|
+
logger.log "Starting Puma..."
|
21
|
+
logger.log "* Version #{::Puma::Const::PUMA_VERSION} , codename: #{::Puma::Const::CODE_NAME}"
|
22
|
+
logger.log "* Min threads: #{conf.options[:min_threads]}, max threads: #{conf.options[:max_threads]}"
|
23
23
|
|
24
|
-
::Puma::Server.new(conf.app,
|
25
|
-
s.binder.parse conf.options[:binds], s.events
|
26
|
-
s.min_threads, s.max_threads = conf.options[:min_threads], conf.options[:max_threads]
|
24
|
+
::Puma::Server.new(conf.app, defined?(::Puma::LogWriter) ? nil : logger, conf.options).tap do |s|
|
25
|
+
s.binder.parse conf.options[:binds], s.respond_to?(:log_writer) ? s.log_writer : s.events
|
26
|
+
s.min_threads, s.max_threads = conf.options[:min_threads], conf.options[:max_threads] if s.respond_to?(:min_threads=)
|
27
27
|
end.run.join
|
28
28
|
end
|
29
29
|
end
|
data/script/test_example_app
CHANGED
@@ -10,6 +10,7 @@ yarn install
|
|
10
10
|
|
11
11
|
# test a normal test run
|
12
12
|
bundle exec rake db:test:prepare
|
13
|
+
NODE_OPTIONS=--openssl-legacy-provider RAILS_ENV=test bundle exec rake assets:precompile
|
13
14
|
bundle exec rake cypress:run
|
14
15
|
|
15
16
|
# test that passing options works (by printing help)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cypress-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Searls
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-06-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -142,7 +142,8 @@ files:
|
|
142
142
|
homepage: https://github.com/testdouble/cypress-rails
|
143
143
|
licenses:
|
144
144
|
- MIT
|
145
|
-
metadata:
|
145
|
+
metadata:
|
146
|
+
rubygems_mfa_required: 'true'
|
146
147
|
post_install_message:
|
147
148
|
rdoc_options: []
|
148
149
|
require_paths:
|
@@ -158,7 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
158
159
|
- !ruby/object:Gem::Version
|
159
160
|
version: '0'
|
160
161
|
requirements: []
|
161
|
-
rubygems_version: 3.
|
162
|
+
rubygems_version: 3.4.10
|
162
163
|
signing_key:
|
163
164
|
specification_version: 4
|
164
165
|
summary: Helps you write Cypress tests of your Rails app
|