From: Andy Allan Date: Wed, 29 Sep 2021 14:25:28 +0000 (+0100) Subject: Move the tracepoint coordinate format test to the controller test X-Git-Tag: live~1922^2 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/9ab15f38ea72ccd0a6b6715a9b8014c1f4ce1ad8?ds=inline Move the tracepoint coordinate format test to the controller test This allows us to remove the model method --- diff --git a/app/models/tracepoint.rb b/app/models/tracepoint.rb index 000f257b4..b3c37430d 100644 --- a/app/models/tracepoint.rb +++ b/app/models/tracepoint.rb @@ -31,12 +31,4 @@ class Tracepoint < ApplicationRecord validates :timestamp, :presence => true belongs_to :trace, :foreign_key => "gpx_id" - - def to_xml_node(print_timestamp: false) - el1 = XML::Node.new "trkpt" - el1["lat"] = lat.to_s - el1["lon"] = lon.to_s - el1 << (XML::Node.new("time") << timestamp.xmlschema) if print_timestamp - el1 - end end diff --git a/test/controllers/api/tracepoints_controller_test.rb b/test/controllers/api/tracepoints_controller_test.rb index a904e8127..7d561522c 100644 --- a/test/controllers/api/tracepoints_controller_test.rb +++ b/test/controllers/api/tracepoints_controller_test.rb @@ -148,5 +148,14 @@ module Api assert_equal "The minimum latitude must be less than the maximum latitude, but it wasn't", @response.body, "bbox: #{bbox}" end end + + # Ensure the lat/lon is formatted as a decimal e.g. not 4.0e-05 + def test_lat_lon_xml_format + create(:tracepoint, :latitude => (0.00004 * GeoRecord::SCALE).to_i, :longitude => (0.00008 * GeoRecord::SCALE).to_i) + + get trackpoints_path(:bbox => "0,0,0.1,0.1") + assert_match(/lat="0.0000400"/, response.body) + assert_match(/lon="0.0000800"/, response.body) + end end end diff --git a/test/models/tracepoint_test.rb b/test/models/tracepoint_test.rb index a672b7c62..2ffbef09f 100644 --- a/test/models/tracepoint_test.rb +++ b/test/models/tracepoint_test.rb @@ -7,12 +7,4 @@ class TracepointTest < ActiveSupport::TestCase tracepoint.timestamp = nil assert_not tracepoint.valid? end - - # Ensure the lat/lon is formatted as a decimal e.g. not 4.0e-05 - def test_lat_lon_xml_format - tracepoint = build(:tracepoint, :latitude => 0.00004 * GeoRecord::SCALE, :longitude => 0.00008 * GeoRecord::SCALE) - - assert_match(/lat="0.0000400"/, tracepoint.to_xml_node.to_s) - assert_match(/lon="0.0000800"/, tracepoint.to_xml_node.to_s) - end end