-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathtest_helper.rb
More file actions
87 lines (67 loc) · 2.5 KB
/
Copy pathtest_helper.rb
File metadata and controls
87 lines (67 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# frozen_string_literal: true
if ENV["COVERAGE"]
require "simplecov"
SimpleCov.start "test_frameworks" do
enable_coverage :branch
minimum_coverage line: 90, branch: 68
add_filter("gemfiles")
add_filter("test")
end
end
$LOAD_PATH.unshift File.expand_path("../lib", __dir__)
require "pathname"
TEST_IMAGES_DIR = Pathname.new(File.expand_path("fixtures/images", __dir__))
require "support/setup_rails_app"
require "minitest/autorun"
require "capybara/minitest"
require "support/setup_capybara"
require "capybara_screenshot_diff/minitest"
require "support/stub_test_methods"
require "support/setup_capybara_drivers"
require "support/test_helpers"
Capybara::Screenshot.root = Rails.root
Capybara::Screenshot.save_path = "./doc/screenshots"
class ActiveSupport::TestCase
include TestHelpers::Assertions
include TestHelpers::DriverSetup
include TestHelpers::TestData
# Set up fixtures and test helpers
self.file_fixture_path = Pathname.new(File.expand_path("fixtures", __dir__))
setup do
@_orig_fail_if_new = Capybara::Screenshot::Diff.fail_if_new
@_orig_blur = Capybara::Screenshot.blur_active_element
@_orig_hide_caret = Capybara::Screenshot.hide_caret
Capybara::Screenshot::Diff.fail_if_new = false
Capybara::Screenshot.blur_active_element = false
Capybara::Screenshot.hide_caret = false
end
teardown do
Capybara::Screenshot::Diff.fail_if_new = @_orig_fail_if_new
Capybara::Screenshot.blur_active_element = @_orig_blur
Capybara::Screenshot.hide_caret = @_orig_hide_caret
CapybaraScreenshotDiff::SnapManager.cleanup! unless persist_comparisons?
end
def persist_comparisons?
ENV["DEBUG"] || ENV["DISABLE_ROLLBACK_COMPARISON_RUNTIME_FILES"] || ENV["RECORD_SCREENSHOTS"]
end
def optional_test
unless ENV["DISABLE_SKIP_TESTS"]
skip "This is optional test! To enable provide DISABLE_SKIP_TESTS=1"
end
end
private
def fixture_image_path_from(original_new_image, ext = "png")
file_fixture("images/#{original_new_image}.#{ext}")
end
def assert_same_images(expected_image_name, image_path)
expected_image_path = file_fixture("comparisons/#{expected_image_name}")
assert_predicate(Capybara::Screenshot::Diff::ImageCompare.new(image_path, expected_image_path), :quick_equal?)
end
def assert_stored_screenshot(filename)
assert_includes(
CapybaraScreenshotDiff::SnapManager.screenshots,
filename,
"Screenshot #{filename} not found in #{CapybaraScreenshotDiff::SnapManager.instance.root}"
)
end
end