cypress-rails 0.5.0 → 0.5.1
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/.github/workflows/main.yml +21 -0
- data/.standard.yml +2 -2
- data/CHANGELOG.md +8 -1
- data/Gemfile.lock +37 -37
- data/README.md +4 -4
- data/lib/cypress-rails/env.rb +2 -5
- data/lib/cypress-rails/init.rb +1 -1
- data/lib/cypress-rails/manages_transactions.rb +4 -1
- data/lib/cypress-rails/version.rb +1 -1
- data/script/test +19 -0
- data/script/test_example_app +1 -1
- metadata +5 -4
- data/.circleci/config.yml +0 -53
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a89d2ae87c67c2df6c45dd8e3642a9ca52b0f3a88b29b4d7e7569dc22579ff76
|
|
4
|
+
data.tar.gz: 94d308d83c47086800430e3c8954e068637575f7c4d9e3f4327b1f325600c8dd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b3630cfd6de6541c551163a34c6e513865743b3733a603a492a4328efd5a827d68925757eba5c0de3d7b095b7597f357f653a52e5040542e8e6c979c869805db
|
|
7
|
+
data.tar.gz: 0f80be8f0c63d8de21917913b02d83a59d6a436da223c9838b1a0421ca3317bbd5d71289fa60f5021e69d94167453c6b015d4469b61c209e05464449e1bb4034
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on: [push, pull_request, workflow_dispatch]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build:
|
|
7
|
+
runs-on: ubuntu-latest
|
|
8
|
+
|
|
9
|
+
strategy:
|
|
10
|
+
matrix:
|
|
11
|
+
ruby-version: ['2.7', '3.0']
|
|
12
|
+
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v2
|
|
15
|
+
- uses: ruby/setup-ruby@v1
|
|
16
|
+
with:
|
|
17
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
18
|
+
bundler-cache: true
|
|
19
|
+
|
|
20
|
+
- name: Run tests
|
|
21
|
+
run: ./script/test
|
data/.standard.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
+
## 0.5.1
|
|
4
|
+
|
|
5
|
+
* Sprinkles two instance variables to the custom transaction manager that cribs
|
|
6
|
+
its implementation from ActiveRecord::TestFixtures (see f75f280)
|
|
7
|
+
[#88](https://github.com/testdouble/cypress-rails/issues/88)
|
|
8
|
+
[#89](https://github.com/testdouble/cypress-rails/pull/89)
|
|
9
|
+
|
|
3
10
|
## 0.5.0
|
|
4
11
|
|
|
5
|
-
* Add hook `
|
|
12
|
+
* Add hook `after_server_start`
|
|
6
13
|
[#63](https://github.com/testdouble/cypress-rails/pull/63)
|
|
7
14
|
* Fix namespace bug
|
|
8
15
|
[#64](https://github.com/testdouble/cypress-rails/pull/64)
|
data/Gemfile.lock
CHANGED
|
@@ -1,53 +1,53 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
cypress-rails (0.5.
|
|
4
|
+
cypress-rails (0.5.1)
|
|
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 (6.1.
|
|
12
|
-
actionview (= 6.1.
|
|
13
|
-
activesupport (= 6.1.
|
|
11
|
+
actionpack (6.1.4)
|
|
12
|
+
actionview (= 6.1.4)
|
|
13
|
+
activesupport (= 6.1.4)
|
|
14
14
|
rack (~> 2.0, >= 2.0.9)
|
|
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 (6.1.
|
|
19
|
-
activesupport (= 6.1.
|
|
18
|
+
actionview (6.1.4)
|
|
19
|
+
activesupport (= 6.1.4)
|
|
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 (6.1.
|
|
24
|
+
activesupport (6.1.4)
|
|
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
|
zeitwerk (~> 2.3)
|
|
30
|
-
ast (2.4.
|
|
30
|
+
ast (2.4.2)
|
|
31
31
|
builder (3.2.4)
|
|
32
|
-
concurrent-ruby (1.1.
|
|
32
|
+
concurrent-ruby (1.1.9)
|
|
33
33
|
crass (1.0.6)
|
|
34
34
|
erubi (1.10.0)
|
|
35
35
|
i18n (1.8.10)
|
|
36
36
|
concurrent-ruby (~> 1.0)
|
|
37
|
-
loofah (2.
|
|
37
|
+
loofah (2.10.0)
|
|
38
38
|
crass (~> 1.0.2)
|
|
39
39
|
nokogiri (>= 1.5.9)
|
|
40
40
|
method_source (1.0.0)
|
|
41
|
-
mini_portile2 (2.5.
|
|
42
|
-
minitest (5.14.
|
|
41
|
+
mini_portile2 (2.5.3)
|
|
42
|
+
minitest (5.14.4)
|
|
43
43
|
nio4r (2.5.7)
|
|
44
|
-
nokogiri (1.11.
|
|
44
|
+
nokogiri (1.11.7)
|
|
45
45
|
mini_portile2 (~> 2.5.0)
|
|
46
46
|
racc (~> 1.4)
|
|
47
47
|
parallel (1.20.1)
|
|
48
|
-
parser (
|
|
48
|
+
parser (3.0.1.1)
|
|
49
49
|
ast (~> 2.4.1)
|
|
50
|
-
puma (5.
|
|
50
|
+
puma (5.3.2)
|
|
51
51
|
nio4r (~> 2.0)
|
|
52
52
|
racc (1.5.2)
|
|
53
53
|
rack (2.2.3)
|
|
@@ -58,38 +58,38 @@ GEM
|
|
|
58
58
|
nokogiri (>= 1.6)
|
|
59
59
|
rails-html-sanitizer (1.3.0)
|
|
60
60
|
loofah (~> 2.3)
|
|
61
|
-
railties (6.1.
|
|
62
|
-
actionpack (= 6.1.
|
|
63
|
-
activesupport (= 6.1.
|
|
61
|
+
railties (6.1.4)
|
|
62
|
+
actionpack (= 6.1.4)
|
|
63
|
+
activesupport (= 6.1.4)
|
|
64
64
|
method_source
|
|
65
|
-
rake (>= 0.
|
|
65
|
+
rake (>= 0.13)
|
|
66
66
|
thor (~> 1.0)
|
|
67
67
|
rainbow (3.0.0)
|
|
68
|
-
rake (13.0.
|
|
69
|
-
regexp_parser (2.
|
|
70
|
-
rexml (3.2.
|
|
71
|
-
rubocop (1.
|
|
68
|
+
rake (13.0.4)
|
|
69
|
+
regexp_parser (2.1.1)
|
|
70
|
+
rexml (3.2.5)
|
|
71
|
+
rubocop (1.18.2)
|
|
72
72
|
parallel (~> 1.10)
|
|
73
|
-
parser (>=
|
|
73
|
+
parser (>= 3.0.0.0)
|
|
74
74
|
rainbow (>= 2.2.2, < 4.0)
|
|
75
|
-
regexp_parser (>= 1.8)
|
|
75
|
+
regexp_parser (>= 1.8, < 3.0)
|
|
76
76
|
rexml
|
|
77
|
-
rubocop-ast (>= 1.
|
|
77
|
+
rubocop-ast (>= 1.7.0, < 2.0)
|
|
78
78
|
ruby-progressbar (~> 1.7)
|
|
79
|
-
unicode-display_width (>= 1.4.0, <
|
|
80
|
-
rubocop-ast (1.
|
|
81
|
-
parser (>=
|
|
82
|
-
rubocop-performance (1.
|
|
83
|
-
rubocop (>=
|
|
79
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
|
80
|
+
rubocop-ast (1.7.0)
|
|
81
|
+
parser (>= 3.0.1.1)
|
|
82
|
+
rubocop-performance (1.11.3)
|
|
83
|
+
rubocop (>= 1.7.0, < 2.0)
|
|
84
84
|
rubocop-ast (>= 0.4.0)
|
|
85
|
-
ruby-progressbar (1.
|
|
86
|
-
standard (
|
|
87
|
-
rubocop (= 1.
|
|
88
|
-
rubocop-performance (= 1.
|
|
85
|
+
ruby-progressbar (1.11.0)
|
|
86
|
+
standard (1.1.4)
|
|
87
|
+
rubocop (= 1.18.2)
|
|
88
|
+
rubocop-performance (= 1.11.3)
|
|
89
89
|
thor (1.1.0)
|
|
90
90
|
tzinfo (2.0.4)
|
|
91
91
|
concurrent-ruby (~> 1.0)
|
|
92
|
-
unicode-display_width (
|
|
92
|
+
unicode-display_width (2.0.0)
|
|
93
93
|
zeitwerk (2.4.2)
|
|
94
94
|
|
|
95
95
|
PLATFORMS
|
|
@@ -103,4 +103,4 @@ DEPENDENCIES
|
|
|
103
103
|
standard (>= 0.2.0)
|
|
104
104
|
|
|
105
105
|
BUNDLED WITH
|
|
106
|
-
2.2.
|
|
106
|
+
2.2.15
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# cypress-rails
|
|
2
2
|
|
|
3
|
-
[](https://circleci.com/gh/testdouble/cypress-rails/tree/main)
|
|
4
4
|
|
|
5
5
|
This is a simple gem to make it easier to start writing browser tests with
|
|
6
6
|
[Cypress](http://cypress.io) for your [Rails](https://rubyonrails.org) apps,
|
|
@@ -120,7 +120,7 @@ end
|
|
|
120
120
|
|
|
121
121
|
(You can find [an
|
|
122
122
|
example
|
|
123
|
-
initializer](/example/
|
|
123
|
+
initializer](/example/config/initializers/cypress_rails_initializer.rb)
|
|
124
124
|
in this repo.)
|
|
125
125
|
|
|
126
126
|
The gem also provides a special route on the test server:
|
|
@@ -170,7 +170,7 @@ preferred environment variables project-wide using a tool like
|
|
|
170
170
|
general this means anything done during `cypress open` or `cypress run` will
|
|
171
171
|
be rolled back on exit (similar to running a Rails System test)
|
|
172
172
|
* **CYPRESS_RAILS_CYPRESS_OPTS** (default: _none_) any options you want to
|
|
173
|
-
forward to the Cypress CLI when running its `open` or `run` commands.
|
|
173
|
+
forward to the Cypress CLI when running its `open` or `run` commands.
|
|
174
174
|
|
|
175
175
|
#### Example: Running a single spec from the command line
|
|
176
176
|
|
|
@@ -228,7 +228,7 @@ of your test database. To set up the hook, pass a block to
|
|
|
228
228
|
## Configuring Rails
|
|
229
229
|
|
|
230
230
|
Beyond the configuration options above, you'll probably also want to disable caching
|
|
231
|
-
in your Rails app's [config/environments/test.rb](/example/
|
|
231
|
+
in your Rails app's [config/environments/test.rb](/example/config/environments/test.rb#L9)
|
|
232
232
|
file, so that changes to your Ruby code are reflected in your tests while you
|
|
233
233
|
work on them with `rake cypress:open`. (If either option is set to
|
|
234
234
|
`true`, any changes to your Ruby code will require a server restart to be reflected as you work
|
data/lib/cypress-rails/env.rb
CHANGED
|
@@ -4,11 +4,8 @@ module CypressRails
|
|
|
4
4
|
return default unless ENV.key?(name)
|
|
5
5
|
|
|
6
6
|
if type == :boolean
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
else
|
|
10
|
-
true
|
|
11
|
-
end
|
|
7
|
+
no_like_flag = ["", "0", "n", "no", "false"].include?(ENV.fetch(name))
|
|
8
|
+
!no_like_flag
|
|
12
9
|
else
|
|
13
10
|
ENV.fetch(name)
|
|
14
11
|
end
|
data/lib/cypress-rails/init.rb
CHANGED
|
@@ -68,7 +68,10 @@ module CypressRails
|
|
|
68
68
|
# need to share a connection pool so that the reading connection
|
|
69
69
|
# can see data in the open transaction on the writing connection.
|
|
70
70
|
def setup_shared_connection_pool
|
|
71
|
-
|
|
71
|
+
@legacy_saved_pool_configs ||= Hash.new { |hash, key| hash[key] = {} }
|
|
72
|
+
@saved_pool_configs ||= Hash.new { |hash, key| hash[key] = {} }
|
|
73
|
+
|
|
74
|
+
ActiveRecord::TestFixtures.instance_method(:setup_shared_connection_pool).bind_call(self)
|
|
72
75
|
end
|
|
73
76
|
end
|
|
74
77
|
end
|
data/script/test
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
PS4='[script/test:${LINENO}] $ '
|
|
4
|
+
set -euo pipefail
|
|
5
|
+
set -x
|
|
6
|
+
|
|
7
|
+
echo "---> Installing dependencies"
|
|
8
|
+
bundle
|
|
9
|
+
cd example
|
|
10
|
+
bundle
|
|
11
|
+
yarn
|
|
12
|
+
cd ..
|
|
13
|
+
|
|
14
|
+
echo "---> Running tests"
|
|
15
|
+
bundle exec rake
|
|
16
|
+
./script/test_example_app
|
|
17
|
+
|
|
18
|
+
echo "---> Job's done!"
|
|
19
|
+
|
data/script/test_example_app
CHANGED
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
|
+
version: 0.5.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Justin Searls
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-07-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: railties
|
|
@@ -102,7 +102,7 @@ executables:
|
|
|
102
102
|
extensions: []
|
|
103
103
|
extra_rdoc_files: []
|
|
104
104
|
files:
|
|
105
|
-
- ".
|
|
105
|
+
- ".github/workflows/main.yml"
|
|
106
106
|
- ".gitignore"
|
|
107
107
|
- ".standard.yml"
|
|
108
108
|
- ".travis.yml"
|
|
@@ -137,6 +137,7 @@ files:
|
|
|
137
137
|
- lib/cypress-rails/starts_rails_server.rb
|
|
138
138
|
- lib/cypress-rails/tracks_resets.rb
|
|
139
139
|
- lib/cypress-rails/version.rb
|
|
140
|
+
- script/test
|
|
140
141
|
- script/test_example_app
|
|
141
142
|
homepage: https://github.com/testdouble/cypress-rails
|
|
142
143
|
licenses:
|
|
@@ -157,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
157
158
|
- !ruby/object:Gem::Version
|
|
158
159
|
version: '0'
|
|
159
160
|
requirements: []
|
|
160
|
-
rubygems_version: 3.2.
|
|
161
|
+
rubygems_version: 3.2.15
|
|
161
162
|
signing_key:
|
|
162
163
|
specification_version: 4
|
|
163
164
|
summary: Helps you write Cypress tests of your Rails app
|
data/.circleci/config.yml
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
version: 2
|
|
2
|
-
jobs:
|
|
3
|
-
build:
|
|
4
|
-
docker:
|
|
5
|
-
- image: circleci/ruby:2.6-node-browsers
|
|
6
|
-
steps:
|
|
7
|
-
- checkout
|
|
8
|
-
|
|
9
|
-
# Bundle install dependencies
|
|
10
|
-
- type: cache-restore
|
|
11
|
-
key: v1-main-{{ checksum "Gemfile.lock" }}
|
|
12
|
-
|
|
13
|
-
- run: gem install bundler --version `tail -1 Gemfile.lock`
|
|
14
|
-
- run: bundle install --path vendor/bundle
|
|
15
|
-
|
|
16
|
-
- type: cache-save
|
|
17
|
-
key: v1-main-{{ checksum "Gemfile.lock" }}
|
|
18
|
-
paths:
|
|
19
|
-
- vendor/bundle
|
|
20
|
-
|
|
21
|
-
# Bundle install dependencies for example app
|
|
22
|
-
- type: cache-restore
|
|
23
|
-
key: v1-example-{{ checksum "example/an_app/Gemfile.lock" }}
|
|
24
|
-
|
|
25
|
-
- run: |
|
|
26
|
-
cd example/an_app
|
|
27
|
-
bundle install --path vendor/bundle
|
|
28
|
-
|
|
29
|
-
- type: cache-save
|
|
30
|
-
key: v1-example-{{ checksum "example/an_app/Gemfile.lock" }}
|
|
31
|
-
paths:
|
|
32
|
-
- example/an_app/vendor/bundle
|
|
33
|
-
|
|
34
|
-
# Yarn dependencies
|
|
35
|
-
- restore_cache:
|
|
36
|
-
keys:
|
|
37
|
-
- v4-yarn-{{ checksum "example/an_app/yarn.lock" }}
|
|
38
|
-
# fallback to using the latest cache if no exact match is found
|
|
39
|
-
- v4-yarn-
|
|
40
|
-
|
|
41
|
-
- run: |
|
|
42
|
-
cd example/an_app
|
|
43
|
-
yarn install
|
|
44
|
-
|
|
45
|
-
- save_cache:
|
|
46
|
-
paths:
|
|
47
|
-
- example/an_app/node_modules
|
|
48
|
-
- ~/.cache
|
|
49
|
-
key: v4-yarn-{{ checksum "example/an_app/yarn.lock" }}
|
|
50
|
-
|
|
51
|
-
- run: bundle exec rake
|
|
52
|
-
- run: ./script/test_example_app
|
|
53
|
-
|