X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/6a68e7676d950661edf24e572ee6ba302b9b3cc4..da80a7bd08ce0c96529cef1ffdd9adce1c0374f0:/test/controllers/traces_controller_test.rb?ds=sidebyside diff --git a/test/controllers/traces_controller_test.rb b/test/controllers/traces_controller_test.rb index 059242af9..7e13ff54f 100644 --- a/test/controllers/traces_controller_test.rb +++ b/test/controllers/traces_controller_test.rb @@ -1,10 +1,20 @@ require "test_helper" -require "minitest/mock" class TracesControllerTest < ActionController::TestCase + # Use temporary directories with unique names for each test + # This allows the tests to be run in parallel. + def setup + @gpx_trace_dir_orig = Settings.gpx_trace_dir + @gpx_image_dir_orig = Settings.gpx_image_dir + Settings.gpx_trace_dir = Dir.mktmpdir("trace", Rails.root.join("test/gpx")) + Settings.gpx_image_dir = Dir.mktmpdir("image", Rails.root.join("test/gpx")) + end + def teardown - File.unlink(*Dir.glob(File.join(Settings.gpx_trace_dir, "*.gpx"))) - File.unlink(*Dir.glob(File.join(Settings.gpx_image_dir, "*.gif"))) + FileUtils.remove_dir(Settings.gpx_trace_dir) + FileUtils.remove_dir(Settings.gpx_image_dir) + Settings.gpx_trace_dir = @gpx_trace_dir_orig + Settings.gpx_image_dir = @gpx_image_dir_orig end ## @@ -532,7 +542,7 @@ class TracesControllerTest < ActionController::TestCase # Test creating a trace def test_create_post # Get file to use - fixture = Rails.root.join("test", "gpx", "fixtures", "a.gpx") + fixture = Rails.root.join("test/gpx/fixtures/a.gpx") file = Rack::Test::UploadedFile.new(fixture, "application/gpx+xml") user = create(:user) @@ -564,7 +574,7 @@ class TracesControllerTest < ActionController::TestCase # Test creating a trace with validation errors def test_create_post_with_validation_errors # Get file to use - fixture = Rails.root.join("test", "gpx", "fixtures", "a.gpx") + fixture = Rails.root.join("test/gpx/fixtures/a.gpx") file = Rack::Test::UploadedFile.new(fixture, "application/gpx+xml") user = create(:user) @@ -711,7 +721,7 @@ class TracesControllerTest < ActionController::TestCase assert_select "tr", :count => traces.length do |rows| traces.zip(rows).each do |trace, row| assert_select row, "a", Regexp.new(Regexp.escape(trace.name)) - assert_select row, "span.trace_summary", Regexp.new(Regexp.escape("(#{trace.size} points)")) if trace.inserted? + assert_select row, "span", Regexp.new(Regexp.escape("(#{trace.size} points)")) if trace.inserted? assert_select row, "td", Regexp.new(Regexp.escape(trace.description)) assert_select row, "td", Regexp.new(Regexp.escape("by #{trace.user.display_name}")) end