effective_test_bot 0.6.1 → 0.6.2
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/config/test_helper.rb +1 -1
- data/lib/effective_test_bot.rb +1 -1
- data/lib/effective_test_bot/middleware.rb +2 -2
- data/lib/effective_test_bot/version.rb +1 -1
- data/lib/generators/effective_test_bot/install_generator.rb +1 -1
- data/lib/tasks/effective_test_bot_tasks.rake +3 -1
- data/test/support/effective_test_bot_assertions.rb +1 -1
- data/test/support/effective_test_bot_minitest_helper.rb +11 -3
- data/test/support/effective_test_bot_screenshots_helper.rb +2 -2
- data/test/test_bot/integration/environment_test.rb +14 -5
- data/test/test_botable/base_test.rb +0 -1
- data/test/test_botable/crud_test.rb +2 -0
- data/test/test_botable/devise_test.rb +2 -0
- data/test/test_botable/member_test.rb +2 -0
- data/test/test_botable/page_test.rb +1 -0
- data/test/test_botable/redirect_test.rb +1 -0
- data/test/test_botable/wizard_test.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 348dcab0f742b0fc3c398a29924e03373b1c8899
|
4
|
+
data.tar.gz: 3f4657ab5beea8f59ea201da177df6dbc9ff2d8c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d5fb505be70bf496edeae75bb397835db2385148a5b69cc87b903ec4af64e8c54e581afcf7c96af25e46d6e95b2c8be6dec9b7a729e937c43555c0633f9d7bc
|
7
|
+
data.tar.gz: d54670db3513736069612105476f68b93c8e0a39cfcc36751a3804bb8f152dea7bdde713caa8b81e324b67b305ffa13beff64ba7622589df54b41cf5ee643649
|
data/config/test_helper.rb
CHANGED
@@ -85,7 +85,7 @@ end
|
|
85
85
|
|
86
86
|
# "Connection not rolling back" snippets
|
87
87
|
# These are some snippets that the internet has collected to fix test threading issues.
|
88
|
-
# They are unneeded with effective_test_bot.
|
88
|
+
# They are unneeded with effective_test_bot. On my machine. But I leave them here as a reference.
|
89
89
|
# Try one or both if you are having issues passing rake test:bot:environment
|
90
90
|
|
91
91
|
# class ActiveRecord::Base
|
data/lib/effective_test_bot.rb
CHANGED
@@ -120,7 +120,7 @@ module EffectiveTestBot
|
|
120
120
|
def self.save_passed_test(name)
|
121
121
|
EffectiveTestBot.passed_tests[name] = true
|
122
122
|
|
123
|
-
Dir.mkdir(passed_tests_path) unless File.
|
123
|
+
Dir.mkdir(passed_tests_path) unless File.exist?(passed_tests_path)
|
124
124
|
|
125
125
|
File.open(passed_tests_filename, 'w') do |file|
|
126
126
|
passed_tests.each { |test_name, _| file.puts(test_name) }
|
@@ -27,8 +27,8 @@ module EffectiveTestBot
|
|
27
27
|
dir = File.join(Dir.pwd, 'tmp', 'test_bot')
|
28
28
|
file = File.join(dir, 'exception.txt')
|
29
29
|
|
30
|
-
Dir.mkdir(dir) unless File.
|
31
|
-
File.delete(file) if File.
|
30
|
+
Dir.mkdir(dir) unless File.exist?(dir)
|
31
|
+
File.delete(file) if File.exist?(file)
|
32
32
|
|
33
33
|
File.open(file, 'w') do |file|
|
34
34
|
file.write "================== Start server exception ==================\n"
|
@@ -8,7 +8,7 @@ module EffectiveTestBot
|
|
8
8
|
source_root File.expand_path('../../templates', __FILE__)
|
9
9
|
|
10
10
|
def install_minitest
|
11
|
-
return if File.
|
11
|
+
return if File.exist?('test/test_helper.rb')
|
12
12
|
puts '[effective_test_bot] installing minitest'
|
13
13
|
run 'bundle exec rails generate minitest:install'
|
14
14
|
end
|
@@ -116,7 +116,7 @@ namespace :test do
|
|
116
116
|
desc 'loads test/fixtures/seeds.rb'
|
117
117
|
task :load_fixture_seeds => :environment do
|
118
118
|
seeds = "#{Rails.root}/test/fixtures/seeds.rb"
|
119
|
-
load(seeds) if File.
|
119
|
+
load(seeds) if File.exist?(seeds)
|
120
120
|
end
|
121
121
|
|
122
122
|
# This ensures rake test:prepare is run before rake test:bot or rake test:bot:environment run
|
@@ -125,11 +125,13 @@ namespace :test do
|
|
125
125
|
Rake::TestTask.new('effective_test_bot' => 'test:prepare') do |t|
|
126
126
|
t.libs << 'test'
|
127
127
|
t.test_files = FileList["#{File.dirname(__FILE__)}/../../test/test_bot/integration/application_test.rb"]
|
128
|
+
t.warning = false
|
128
129
|
end
|
129
130
|
|
130
131
|
Rake::TestTask.new('effective_test_bot_environment' => 'test:prepare') do |t|
|
131
132
|
t.libs << 'test'
|
132
133
|
t.test_files = FileList["#{File.dirname(__FILE__)}/../../test/test_bot/integration/environment_test.rb"]
|
134
|
+
t.warning = false
|
133
135
|
end
|
134
136
|
end
|
135
137
|
|
@@ -94,7 +94,7 @@ module EffectiveTestBotAssertions
|
|
94
94
|
def assert_no_exceptions(message = "(no_exceptions) Unexpected rails server exception:\n:exception:")
|
95
95
|
# this file is created by EffectiveTestBot::Middleware when an exception is encountered in the rails app
|
96
96
|
file = File.join(Dir.pwd, 'tmp', 'test_bot', 'exception.txt')
|
97
|
-
return unless File.
|
97
|
+
return unless File.exist?(file)
|
98
98
|
|
99
99
|
exception = File.read(file)
|
100
100
|
File.delete(file)
|
@@ -4,10 +4,18 @@ module EffectiveTestBotMinitestHelper
|
|
4
4
|
# end
|
5
5
|
|
6
6
|
# This gets called after every test. Minitest hook for plugin developers
|
7
|
-
def
|
7
|
+
def before_teardown
|
8
|
+
super
|
9
|
+
|
8
10
|
if EffectiveTestBot.screenshots? && (@test_bot_screenshot_id || 0) > 0
|
9
|
-
|
10
|
-
|
11
|
+
if !passed? && EffectiveTestBot.autosave_animated_gif_on_failure?
|
12
|
+
save_test_bot_screenshot
|
13
|
+
save_test_bot_failure_gif
|
14
|
+
end
|
15
|
+
|
16
|
+
if passed? && EffectiveTestBot.tour_mode?
|
17
|
+
save_test_bot_tour_gif
|
18
|
+
end
|
11
19
|
end
|
12
20
|
|
13
21
|
if passed? && !EffectiveTestBot.passed_tests[current_test_name]
|
@@ -16,7 +16,7 @@ module EffectiveTestBotScreenshotsHelper
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def save_test_bot_failure_gif
|
19
|
-
Dir.mkdir(current_test_failure_path) unless File.
|
19
|
+
Dir.mkdir(current_test_failure_path) unless File.exist?(current_test_failure_path)
|
20
20
|
full_path = (current_test_failure_path + '/' + current_test_failure_filename)
|
21
21
|
|
22
22
|
save_test_bot_gif(full_path)
|
@@ -24,7 +24,7 @@ module EffectiveTestBotScreenshotsHelper
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def save_test_bot_tour_gif
|
27
|
-
Dir.mkdir(current_test_tour_path) unless File.
|
27
|
+
Dir.mkdir(current_test_tour_path) unless File.exist?(current_test_tour_path)
|
28
28
|
full_path = (current_test_tour_path + '/' + current_test_tour_filename)
|
29
29
|
|
30
30
|
save_test_bot_gif(full_path)
|
@@ -48,27 +48,36 @@ module TestBot
|
|
48
48
|
assert_signed_out
|
49
49
|
end
|
50
50
|
|
51
|
-
test '08: capybara
|
51
|
+
test '08: capybara database connection is shared' do
|
52
|
+
user = User.new(email: 'unique@testbot.com', password: '!Password123', password_confirmation: '!Password123')
|
53
|
+
user.username = 'unique-username' if user.respond_to?(:username)
|
54
|
+
user.login = 'unique-login' if user.respond_to?(:login)
|
55
|
+
user.save(validate: false)
|
56
|
+
|
57
|
+
without_screenshots { sign_in_manually(user, '!Password123') }
|
58
|
+
assert_signed_in("expected successful devise manual sign in with user created in this test.\nTry using one of the ActiveRecord shared_connection snippets in test/test_helper.rb")
|
59
|
+
end
|
60
|
+
|
61
|
+
test '09: capybara can execute javascript' do
|
52
62
|
visit root_path
|
53
63
|
assert_capybara_can_execute_javascript
|
54
64
|
end
|
55
65
|
|
56
|
-
test '
|
66
|
+
test '10: jquery is present' do
|
57
67
|
visit root_path
|
58
68
|
assert_jquery_present
|
59
69
|
end
|
60
70
|
|
61
|
-
test '
|
71
|
+
test '11: rails jquery_ujs is present' do
|
62
72
|
visit root_path
|
63
73
|
assert_jquery_ujs_present
|
64
74
|
end
|
65
75
|
|
66
|
-
test '
|
76
|
+
test '12: action_mailer.default_url_options are present' do
|
67
77
|
assert(
|
68
78
|
(Rails.application.config.action_mailer.default_url_options[:host] rescue nil).present?,
|
69
79
|
"expected action_mailer.default_url_options[:host] to be present.\nAdd config.action_mailer.default_url_options = { host: 'example.com' } to config/environments/test.rb"
|
70
80
|
)
|
71
|
-
|
72
81
|
end
|
73
82
|
end
|
74
83
|
end
|
@@ -10,7 +10,6 @@ module BaseTest
|
|
10
10
|
assert_no_exceptions unless test_bot_skip?(:exceptions)
|
11
11
|
assert_page_status unless test_bot_skip?(:page_status)
|
12
12
|
assert_no_js_errors unless test_bot_skip?(:no_js_errors)
|
13
|
-
assert_no_flash_errors unless test_bot_skip?(:no_flash_errors)
|
14
13
|
assert_page_title unless (test_bot_skip?(:page_title) || all('head').blank? || was_download?)
|
15
14
|
end
|
16
15
|
|
@@ -90,6 +90,7 @@ module CrudTest
|
|
90
90
|
after = { count: resource_class.count, path: page.current_path }
|
91
91
|
|
92
92
|
assert_page_normal
|
93
|
+
assert_no_flash_errors unless test_bot_skip?(:no_flash_errors)
|
93
94
|
|
94
95
|
# In a rails controller, if I redirect to resources_path it may not assign the instance variable
|
95
96
|
# Wheras if I redirect to edit_resource_path I must ensure that the instance variable is set
|
@@ -179,6 +180,7 @@ module CrudTest
|
|
179
180
|
after = { count: resource_class.count, updated_at: (resource.updated_at rescue nil) }
|
180
181
|
|
181
182
|
assert_page_normal
|
183
|
+
assert_no_flash_errors unless test_bot_skip?(:no_flash_errors)
|
182
184
|
|
183
185
|
# In a rails controller, if i redirect to resources_path it may not assign the instance variable
|
184
186
|
# Wheras if I redirect to edit_resource_path I must ensure that the instance variable is set
|
@@ -15,6 +15,7 @@ module DeviseTest
|
|
15
15
|
end
|
16
16
|
|
17
17
|
assert_page_normal
|
18
|
+
assert_no_flash_errors unless test_bot_skip?(:no_flash_errors)
|
18
19
|
|
19
20
|
assert_signed_in('Expected @current_user to be present after sign up')
|
20
21
|
assert User.where(email: email).first.present?, "Expected user to be present after submitting sign up form at #{new_user_registration_path}"
|
@@ -37,6 +38,7 @@ module DeviseTest
|
|
37
38
|
end
|
38
39
|
|
39
40
|
assert_page_normal
|
41
|
+
assert_no_flash_errors unless test_bot_skip?(:no_flash_errors)
|
40
42
|
|
41
43
|
assert_signed_in
|
42
44
|
assert_page_content(I18n.t('devise.sessions.signed_in')) unless test_bot_skip?(:page_content)
|