package store import ( "context" "testing" ) func TestSyncState_DefaultsAndUpdate(t *testing.T) { db := openTestDB(t) ctx := context.Background() userID, err := db.ProvisionUser(ctx, "test-sub", "Test User") if err != nil { t.Fatalf("ProvisionUser: %v", err) } state, err := db.GetSyncState(ctx, userID) if err != nil { t.Fatalf("GetSyncState: %v", err) } if state.EarliestSyncedDate != nil || state.BackfillComplete { t.Fatalf("expected fresh DB to have no watermark, got %+v", state) } if err := db.UpdateSyncState(ctx, userID, "2023-01-01", true); err != nil { t.Fatalf("UpdateSyncState: %v", err) } state, err = db.GetSyncState(ctx, userID) if err != nil { t.Fatalf("GetSyncState after update: %v", err) } if state.EarliestSyncedDate == nil || *state.EarliestSyncedDate != "2023-01-01" || !state.BackfillComplete { t.Fatalf("state after update = %+v, want earliest=2023-01-01 complete=true", state) } }