diff options
| author | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-08-27 19:03:34 +0200 |
|---|---|---|
| committer | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-08-27 19:03:34 +0200 |
| commit | d7b93325d4f70eeab369fa8a3c4cce9f0c4e0081 (patch) | |
| tree | 76a913248fa04325e8e85f34df0cd03654e1ca76 /strava/sync_test.go | |
| parent | 558f755f5746a4ee819de87579951b7533688e5d (diff) | |
Add dual GPX/FIT exporter and backfill for rides
Phase 1 writes both .gpx and .fit on Strava import, adds fit_path
column, renames storage.gpx_dir to storage.rides_dir, and backfills
missing FIT files from existing GPX without breaking CLI progress.
FIT files are gitignored.
Diffstat (limited to 'strava/sync_test.go')
| -rw-r--r-- | strava/sync_test.go | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/strava/sync_test.go b/strava/sync_test.go index abc3d0e..6d28e47 100644 --- a/strava/sync_test.go +++ b/strava/sync_test.go @@ -70,12 +70,13 @@ func TestGet(t *testing.T) { } }) - activity, gpxData, err := client.Get(42) + activity, gpxData, fitData, err := client.Get(42) require.NoError(t, err) assert.Equal(t, int64(42), activity.ID) assert.Equal(t, 42195.0, activity.DistanceM) assert.Equal(t, int64(7200), activity.MovingTimeS) assert.NotEmpty(t, gpxData) + assert.NotEmpty(t, fitData) parsed, err := gpx.ParseBytes(gpxData) require.NoError(t, err) require.Len(t, parsed.Tracks[0].Segments[0].Points, 2) @@ -113,6 +114,18 @@ func TestGet(t *testing.T) { require.True(t, ok) powerValue := powers[1] assert.Equal(t, 0.0, powerValue) + + parsedFIT, err := (ride.FITRideParser{}).Parse(bytes.NewReader(fitData)) + require.NoError(t, err) + assert.Equal(t, 2, parsedFIT.Len()) + heartRates, ok = parsedFIT.HeartRates() + require.True(t, ok) + assert.Equal(t, 91.0, heartRates[1]) + _, ok = parsedFIT.Cadences() + assert.False(t, ok) + powers, ok = parsedFIT.Powers() + require.True(t, ok) + assert.Equal(t, 0.0, powers[1]) } func TestGetRejectsActivityWithoutTrackPoints(t *testing.T) { @@ -130,7 +143,7 @@ func TestGetRejectsActivityWithoutTrackPoints(t *testing.T) { } }) - activity, _, err := client.Get(14701658670) + activity, _, _, err := client.Get(14701658670) assert.Equal(t, int64(14701658670), activity.ID) require.EqualError(t, err, "activity has no track points") |
