github.com/keybase/client/go@v0.0.0-20241007131713-f10651d043c8/chat/maps/trackstorage_test.go (about) 1 package maps 2 3 import ( 4 "context" 5 "testing" 6 "time" 7 8 "github.com/keybase/client/go/chat/globals" 9 "github.com/keybase/client/go/kbtest" 10 "github.com/keybase/client/go/protocol/chat1" 11 "github.com/stretchr/testify/require" 12 13 "github.com/keybase/client/go/libkb" 14 ) 15 16 func TestTrackStorage(t *testing.T) { 17 tc := libkb.SetupTest(t, "TestTrackStorage", 1) 18 defer tc.Cleanup() 19 _, err := kbtest.CreateAndSignupFakeUser("t", tc.G) 20 require.NoError(t, err) 21 ts := newTrackStorage(&globals.Context{GlobalContext: tc.G, ChatContext: nil}) 22 trackers := []*locationTrack{ 23 { 24 convID: chat1.ConversationID([]byte{0, 0, 1}), 25 msgID: 5, 26 endTime: time.Now().Add(time.Hour), 27 allCoords: []chat1.Coordinate{ 28 { 29 Lat: -41.8983, 30 Lon: 79.882, 31 }, 32 }, 33 }, 34 } 35 require.NoError(t, ts.Save(context.TODO(), trackers)) 36 res, err := ts.Restore(context.TODO()) 37 require.NoError(t, err) 38 require.Equal(t, 1, len(res)) 39 require.Equal(t, len(trackers[0].allCoords), len(res[0].allCoords)) 40 require.Equal(t, trackers[0].allCoords[0].Lat, res[0].allCoords[0].Lat) 41 }