(t *testing.T)
| 166 | } |
| 167 | |
| 168 | func TestTrack_IncludesUserWhenAuthenticated(t *testing.T) { |
| 169 | fake := &fakeAnalyticsClient{} |
| 170 | client := &AnalyticsTelemetryClient{client: fake} |
| 171 | |
| 172 | metadata := NewEventMetadata() |
| 173 | metadata.SetUser("user-42", "user@test.com", "Test User") |
| 174 | ctx := WithEventMetadata(context.Background(), metadata) |
| 175 | |
| 176 | require.NoError(t, client.Track(ctx, "Command Invoked", nil)) |
| 177 | require.Len(t, fake.messages, 1) |
| 178 | |
| 179 | track, ok := fake.messages[0].(analytics.Track) |
| 180 | require.True(t, ok) |
| 181 | assert.Equal(t, "user-42", track.UserId) |
| 182 | assert.Equal(t, "Command Invoked", track.Event) |
| 183 | } |
| 184 | |
| 185 | func TestTrack_OmitsUserWhenAnonymous(t *testing.T) { |
| 186 | fake := &fakeAnalyticsClient{} |
nothing calls this directly
no test coverage detected