cypress-on-rails 1.1.1 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +3 -1
- data/lib/cypress_dev/version.rb +1 -1
- data/lib/generators/cypress_dev/templates/spec/cypress/app_commands/clean.rb +2 -0
- data/lib/generators/cypress_dev/templates/spec/cypress/app_commands/log_fail.rb +24 -0
- data/lib/generators/cypress_dev/templates/spec/cypress/integration/rails_examples/using_scenarios_spec.js +12 -8
- data/lib/generators/cypress_dev/templates/spec/cypress/support/on-rails.js +14 -1
- data/spec/integrations/rails_3_2/config/application.rb +0 -1
- data/spec/integrations/rails_3_2/log/.keep +0 -0
- data/spec/integrations/rails_4_2/config/application.rb +0 -1
- data/spec/integrations/rails_4_2/log/.keep +0 -0
- data/spec/integrations/rails_5_2/config/application.rb +0 -4
- data/spec/integrations/rails_5_2/log/.keep +0 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f21cac226aa4015c07018d58964e0644fa129190addcf71f9b968ce727bcbbdc
|
4
|
+
data.tar.gz: cc6ca291b3054e3da1914927515106d27e2064d262f05040025e3c649d7d7ff0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 880f43bc0764b118be64782dc46d873348b9f579c43f48709002abb2ab970da97228cd046d915a564d9a9183dd6a2bd2501e6326154ceafa79f71598e5e657e7
|
7
|
+
data.tar.gz: 2e89c6aca7735d4972aaf270e448d31865c083be59fee3f3611549805d1ea26e7be91e403fece32b82750acfb60f19d1341d85c9e02bd367ac0bf18f6f07f60e
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -20,6 +20,8 @@ Has examples of setting up state with:
|
|
20
20
|
|
21
21
|
This gem is based off https://github.com/konvenit/cypress-on-rails
|
22
22
|
|
23
|
+
Video of getting started with this gem https://grant-ps.blog/2018/08/10/getting-started-with-cypress-io-and-ruby-on-rails/
|
24
|
+
|
23
25
|
## Getting started
|
24
26
|
|
25
27
|
Add this to your Gemfile:
|
@@ -54,7 +56,7 @@ Now you can create scenarios and commands that are plan ruby files that get load
|
|
54
56
|
|
55
57
|
### WARNING
|
56
58
|
*WARNING!!:* cypress-on-rails can execute arbitrary ruby code
|
57
|
-
Please use with extra caution if starting your local server on 0.0.0.0 or running on a hosted server
|
59
|
+
Please use with extra caution if starting your local server on 0.0.0.0 or running the gem on a hosted server
|
58
60
|
|
59
61
|
## Usage
|
60
62
|
|
data/lib/cypress_dev/version.rb
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
# This file is called when a cypress spec fails and allows for extra logging to be captured
|
2
|
+
filename = command_options.fetch('runnable_full_title', 'no title').gsub(/[^[:print:]]/, '')
|
3
|
+
|
4
|
+
# grab last lines until "APPCLEANED" (Make sure in clean.rb to log the text "APPCLEANED")
|
5
|
+
system "tail -n 10000 -r log/#{Rails.env}.log | sed \"/APPCLEANED/ q\" | sed 'x;1!H;$!d;x' > 'log/#{filename}.log'"
|
6
|
+
|
7
|
+
# create a json debug file for server debugging
|
8
|
+
json_result = {}
|
9
|
+
json_result['error'] = command_options.fetch('error_message', 'no error message')
|
10
|
+
|
11
|
+
if defined?(ActiveRecord::Base)
|
12
|
+
json_result['records'] =
|
13
|
+
ActiveRecord::Base.descendants.each_with_object({}) do |record_class, records|
|
14
|
+
begin
|
15
|
+
records[record_class.to_s] = record_class.limit(100).map(&:attributes)
|
16
|
+
rescue
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
filename = command_options.fetch('runnable_full_title', 'no title').gsub(/[^[:print:]]/, '')
|
22
|
+
File.open("#{Rails.root}/log/#{filename}.json", "w+") do |file|
|
23
|
+
file << JSON.pretty_generate(json_result)
|
24
|
+
end
|
@@ -15,12 +15,16 @@ describe('Rails using scenarios examples', function() {
|
|
15
15
|
})
|
16
16
|
})
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
18
|
+
|
19
|
+
it('example of missing scenario failure', function() {
|
20
|
+
cy.visit('/')
|
21
|
+
cy.appScenario('basic')
|
22
|
+
// cy.appScenario('missing') // uncomment these if you want to see what happens
|
23
|
+
})
|
24
|
+
|
25
|
+
it('example of missing app failure', function() {
|
26
|
+
cy.visit('/')
|
27
|
+
cy.appScenario('basic')
|
28
|
+
// cy.app('run_me') // uncomment these if you want to see what happens
|
29
|
+
})
|
26
30
|
})
|
@@ -34,4 +34,17 @@ Cypress.Commands.add('appFixtures', function (options) {
|
|
34
34
|
// The next is optional
|
35
35
|
// beforeEach(() => {
|
36
36
|
// cy.app('clean') // have a look at cypress/app_commands/clean.rb
|
37
|
-
// });
|
37
|
+
// });
|
38
|
+
|
39
|
+
// comment this out if you do not want to attempt to log additional info on test fail
|
40
|
+
Cypress.on('fail', (err, runnable) => {
|
41
|
+
// allow app to generate additional logging data
|
42
|
+
Cypress.$.ajax({
|
43
|
+
url: '/__cypress__/command',
|
44
|
+
data: JSON.stringify({name: 'log_fail', options: {error_message: err.message, runnable_full_title: runnable.fullTitle() }}),
|
45
|
+
async: false,
|
46
|
+
method: 'POST'
|
47
|
+
});
|
48
|
+
|
49
|
+
throw err;
|
50
|
+
});
|
File without changes
|
@@ -28,6 +28,5 @@ module Rails42X
|
|
28
28
|
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
29
29
|
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
30
30
|
# config.i18n.default_locale = :de
|
31
|
-
config.logger = Logger.new(STDOUT)
|
32
31
|
end
|
33
32
|
end
|
File without changes
|
@@ -29,9 +29,5 @@ module Rails52
|
|
29
29
|
|
30
30
|
# Don't generate system test files.
|
31
31
|
config.generators.system_tests = nil
|
32
|
-
|
33
|
-
logger = ActiveSupport::Logger.new(STDOUT)
|
34
|
-
logger.formatter = config.log_formatter
|
35
|
-
config.logger = ActiveSupport::TaggedLogging.new(logger)
|
36
32
|
end
|
37
33
|
end
|
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cypress-on-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- miceportal team
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-11-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rack
|
@@ -100,6 +100,7 @@ files:
|
|
100
100
|
- lib/generators/cypress_dev/templates/spec/cypress/app_commands/clean.rb
|
101
101
|
- lib/generators/cypress_dev/templates/spec/cypress/app_commands/eval.rb
|
102
102
|
- lib/generators/cypress_dev/templates/spec/cypress/app_commands/factory_bot.rb
|
103
|
+
- lib/generators/cypress_dev/templates/spec/cypress/app_commands/log_fail.rb
|
103
104
|
- lib/generators/cypress_dev/templates/spec/cypress/app_commands/scenarios/basic.rb
|
104
105
|
- lib/generators/cypress_dev/templates/spec/cypress/cypress_helper.rb
|
105
106
|
- lib/generators/cypress_dev/templates/spec/cypress/fixtures/example.json
|
@@ -165,6 +166,7 @@ files:
|
|
165
166
|
- spec/integrations/rails_3_2/config/initializers/wrap_parameters.rb
|
166
167
|
- spec/integrations/rails_3_2/config/locales/en.yml
|
167
168
|
- spec/integrations/rails_3_2/config/routes.rb
|
169
|
+
- spec/integrations/rails_3_2/log/.keep
|
168
170
|
- spec/integrations/rails_3_2/public/404.html
|
169
171
|
- spec/integrations/rails_3_2/public/422.html
|
170
172
|
- spec/integrations/rails_3_2/public/500.html
|
@@ -204,6 +206,7 @@ files:
|
|
204
206
|
- spec/integrations/rails_4_2/config/locales/en.yml
|
205
207
|
- spec/integrations/rails_4_2/config/routes.rb
|
206
208
|
- spec/integrations/rails_4_2/config/secrets.yml
|
209
|
+
- spec/integrations/rails_4_2/log/.keep
|
207
210
|
- spec/integrations/rails_4_2/public/404.html
|
208
211
|
- spec/integrations/rails_4_2/public/422.html
|
209
212
|
- spec/integrations/rails_4_2/public/500.html
|
@@ -257,6 +260,7 @@ files:
|
|
257
260
|
- spec/integrations/rails_5_2/config/master.key
|
258
261
|
- spec/integrations/rails_5_2/config/routes.rb
|
259
262
|
- spec/integrations/rails_5_2/db/migrate/20180621085832_create_posts.rb
|
263
|
+
- spec/integrations/rails_5_2/log/.keep
|
260
264
|
- spec/integrations/rails_5_2/public/404.html
|
261
265
|
- spec/integrations/rails_5_2/public/422.html
|
262
266
|
- spec/integrations/rails_5_2/public/500.html
|