aboutsummaryrefslogtreecommitdiff
path: root/web/server_test.go
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2026-08-21 06:56:12 +0200
committerMartin Kagamino Lehoux <martin@lehoux.net>2026-08-21 06:56:12 +0200
commit9da52d7355f5a77f0adc9a658619b3bfef03ba3c (patch)
treeb9e5f803d0c9787a84696b9e38b06b6721c9ded3 /web/server_test.go
parent13aeedfbb9271444ca42efb45bbe0986ae7610ce (diff)
feat(ride): persist canonical moving time, preserve Strava reference
Diffstat (limited to 'web/server_test.go')
-rw-r--r--web/server_test.go21
1 files changed, 20 insertions, 1 deletions
diff --git a/web/server_test.go b/web/server_test.go
index 823e4a8..68928fe 100644
--- a/web/server_test.go
+++ b/web/server_test.go
@@ -361,7 +361,7 @@ func TestHandlerReturnsNotFoundForUnknownRide(t *testing.T) {
func TestHandlerShowsErrorForUnavailableRideRoute(t *testing.T) {
server, db := newWebTestServer(t)
_, err := db.Exec(`
- INSERT INTO rides (external_id, gpx_path, name, type, start_date, distance_m, moving_time_s, elapsed_time_s, total_elevation_gain_m, average_speed_mps)
+ INSERT INTO rides (external_id, gpx_path, name, type, start_date, distance_m, external_moving_time_s, elapsed_time_s, total_elevation_gain_m, average_speed_mps)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
`, "strava:6ba7b810-9dad-41d1-80b4-00c04fd430c8", "missing.gpx", "Unavailable Route", "Ride", "2026-08-01T07:00:00Z", 20_000, 0, 0, 0, 0)
require.NoError(t, err)
@@ -648,6 +648,25 @@ func TestBuildRideViewsUsesStoredCotacol(t *testing.T) {
assert.NotEqual(t, "-", views[0].Cotacol)
}
+func TestBuildRideViewMovingTimePrefersCanonical(t *testing.T) {
+ _, db := newWebTestServer(t)
+ ride := rides.Ride{
+ ExternalID: "strava:550e8400-e29b-41d4-a716-446655440000",
+ GPXPath: testGPXPath(t, "moving.gpx"),
+ Name: "Moving Ride",
+ Type: "Ride",
+ StartDate: time.Date(2026, 8, 1, 7, 0, 0, 0, time.UTC),
+ DistanceM: 20_000,
+ ExternalMovingTimeS: 7_200,
+ }
+ require.NoError(t, rides.Save(db, ride))
+ items, err := rides.List(db)
+ require.NoError(t, err)
+ require.Len(t, items, 1)
+
+ assert.NotEqual(t, "2h 00m", buildRideView(items[0]).MovingTime)
+}
+
func TestHandlerSortsRidesByDistance(t *testing.T) {
server, db := newWebTestServer(t)
require.NoError(t, rides.Save(db, rides.Ride{