X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/d3700e6201b4b78a70bbb2941572edc985b63c2c..942e62117ff7f12d40618a94ea3f4e86f8cb25af:/test/controllers/traces_controller_test.rb diff --git a/test/controllers/traces_controller_test.rb b/test/controllers/traces_controller_test.rb index 456bf9f8a..fbbbe4adc 100644 --- a/test/controllers/traces_controller_test.rb +++ b/test/controllers/traces_controller_test.rb @@ -571,6 +571,21 @@ class TracesControllerTest < ActionController::TestCase assert_equal "trackable", user.preferences.where(:k => "gps.trace.visibility").first.v end + # 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") + file = Rack::Test::UploadedFile.new(fixture, "application/gpx+xml") + user = create(:user) + + # Now authenticated + create(:user_preference, :user => user, :k => "gps.trace.visibility", :v => "identifiable") + assert_not_equal "trackable", user.preferences.where(:k => "gps.trace.visibility").first.v + post :create, :params => { :trace => { :gpx_file => file, :description => "", :tagstring => "new,trace", :visibility => "trackable" } }, :session => { :user => user } + assert_template :new + assert_match "Description is too short (minimum is 1 character)", response.body + end + # Test fetching the edit page for a trace using GET def test_edit_get public_trace_file = create(:trace, :visibility => "public")