cypress-rails 0.5.4 → 0.6.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
2
  SHA256:
3
- metadata.gz: '0088a9590b5bc5e26f46712eab77a85be92e01cea16722a0945463261a2e517b'
4
- data.tar.gz: eb19c0b7022aaea43ead4557247f47b11a8e3d1e90c6f0ce518dd0dadfe811da
3
+ metadata.gz: 51850b1aa42e0669b0f94e97f73b7f9f6858ab04c6290645c29c556c5b6ccc9e
4
+ data.tar.gz: edade573f72bf936fe1489872bcbcd0ed824c8c04b4b56728260402f551e2e88
5
5
  SHA512:
6
- metadata.gz: be4b582a6f013139ca8599ba08a2ee2b4c6c8f17c8a05d6fa62276bb4f52730959495e3004f635612cb3ac5c2a93d1f30a7a0ce2b09cd9659793aeaef03e22ea
7
- data.tar.gz: eadd7f6340cd5f8596cf9abfadf8a758f26893af6c01501100ac361bf067b842d4afdd8b617fef18e83b73643b5aa6d22c5ba47711985a66af601fd34dd39893
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.5.4)
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.3)
12
- actionview (= 7.0.3)
13
- activesupport (= 7.0.3)
14
- rack (~> 2.0, >= 2.2.0)
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.3)
19
- activesupport (= 7.0.3)
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.3)
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.1.10)
31
+ concurrent-ruby (1.2.2)
32
32
  crass (1.0.6)
33
- erubi (1.10.0)
34
- i18n (1.10.0)
33
+ erubi (1.12.0)
34
+ i18n (1.14.1)
35
35
  concurrent-ruby (~> 1.0)
36
- loofah (2.18.0)
36
+ loofah (2.21.3)
37
37
  crass (~> 1.0.2)
38
- nokogiri (>= 1.5.9)
38
+ nokogiri (>= 1.12.0)
39
39
  method_source (1.0.0)
40
- mini_portile2 (2.8.0)
40
+ mini_portile2 (2.8.2)
41
41
  minitest (5.15.0)
42
- nio4r (2.5.8)
43
- nokogiri (1.13.6)
44
- mini_portile2 (~> 2.8.0)
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 (5.6.4)
49
+ puma (6.3.0)
50
50
  nio4r (~> 2.0)
51
- racc (1.6.0)
52
- rack (2.2.3)
53
- rack-test (1.1.0)
54
- rack (>= 1.0, < 3)
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.4.2)
59
- loofah (~> 2.3)
60
- railties (7.0.3)
61
- actionpack (= 7.0.3)
62
- activesupport (= 7.0.3)
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.1)
90
- tzinfo (2.0.4)
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.5.4)
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.json` configuration
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.json`), you'll need to duplicate it with
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
@@ -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.
@@ -1,30 +1,32 @@
1
1
  module CypressRails
2
2
  class Init
3
- DEFAULT_CONFIG = {
4
- "screenshotsFolder" => "tmp/cypress_screenshots",
5
- "videosFolder" => "tmp/cypress_videos",
6
- "trashAssetsBeforeRuns" => false
7
- }
3
+ DEFAULT_CONFIG = <<~JS
4
+ const { defineConfig } = require('cypress')
8
5
 
9
- def call(dir = Dir.pwd)
10
- config_path = File.join(dir, "cypress.json")
11
- json = JSON.pretty_generate(determine_new_config(config_path))
12
- File.write(config_path, json)
13
- puts "Cypress config (re)initialized in #{config_path}"
14
- end
15
-
16
- private
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 determine_new_config(config_path)
19
- if File.exist?(config_path)
20
- merge_existing_with_defaults(config_path)
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
- DEFAULT_CONFIG
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
@@ -1,7 +1,7 @@
1
1
  require "pathname"
2
2
  CLI = Pathname.new(File.dirname(__FILE__)).join("../../exe/cypress-rails")
3
3
 
4
- desc "Initialize cypress.json"
4
+ desc "Initialize cypress.config.js"
5
5
  task :"cypress:init" do
6
6
  system "#{CLI} init"
7
7
  end
@@ -12,18 +12,18 @@ module CypressRails
12
12
 
13
13
  conf = Rack::Handler::Puma.config(app, options)
14
14
  conf.clamp
15
- events = ::Puma::Events.stdio
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
- events.log "Starting Puma..."
21
- events.log "* Version #{::Puma::Const::PUMA_VERSION} , codename: #{::Puma::Const::CODE_NAME}"
22
- events.log "* Min threads: #{conf.options[:min_threads]}, max threads: #{conf.options[:max_threads]}"
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, events, conf.options).tap do |s|
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
@@ -1,3 +1,3 @@
1
1
  module CypressRails
2
- VERSION = "0.5.4"
2
+ VERSION = "0.6.0"
3
3
  end
@@ -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.5.4
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: 2022-05-20 00:00:00.000000000 Z
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.3.6
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