Move the tracepoint coordinate format test to the controller test

This allows us to remove the model method
This commit is contained in:
Andy Allan 2021-09-29 15:25:28 +01:00
parent 95e5178bfb
commit 9ab15f38ea
3 changed files with 9 additions and 16 deletions

View file

@ -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

View file

@ -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

View file

@ -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