diff --git a/actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb b/actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb index 1ad64b7f788d0..ab14910b41839 100644 --- a/actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb +++ b/actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb @@ -17,7 +17,7 @@ def take_screenshot # Takes a screenshot of the current page in the browser if the test # failed. # - # +take_screenshot+ is included in system_test_helper.rb that is + # +take_failed_screenshot+ is included in system_test_helper.rb that is # generated with the application. To take screenshots when a test fails # add +take_failed_screenshot+ to the teardown block before clearing # sessions. @@ -26,8 +26,12 @@ def take_failed_screenshot end private + def image_name + passed? ? method_name : "failures_#{method_name}" + end + def image_path - "tmp/screenshots/failures_#{method_name}.png" + "tmp/screenshots/#{image_name}.png" end def save_image diff --git a/actionpack/test/dispatch/system_testing/screenshot_helper_test.rb b/actionpack/test/dispatch/system_testing/screenshot_helper_test.rb index 3da89f4a109ed..8c14f799b042d 100644 --- a/actionpack/test/dispatch/system_testing/screenshot_helper_test.rb +++ b/actionpack/test/dispatch/system_testing/screenshot_helper_test.rb @@ -5,6 +5,14 @@ class ScreenshotHelperTest < ActiveSupport::TestCase test "image path is saved in tmp directory" do new_test = ActionDispatch::SystemTestCase.new("x") - assert_equal "tmp/screenshots/failures_x.png", new_test.send(:image_path) + assert_equal "tmp/screenshots/x.png", new_test.send(:image_path) + end + + test "image path includes failures text if test did not pass" do + new_test = ActionDispatch::SystemTestCase.new("x") + + new_test.stub :passed?, false do + assert_equal "tmp/screenshots/failures_x.png", new_test.send(:image_path) + end end end