| 224 | * ``` |
| 225 | */ |
| 226 | export function setupAnalyticsMocks(analyticsModule: { |
| 227 | trackEvent: TrackEventFn |
| 228 | flushAnalytics: FlushAnalyticsFn |
| 229 | }): AnalyticsSpies { |
| 230 | const trackEventSpy = spyOn(analyticsModule, 'trackEvent').mockImplementation( |
| 231 | () => {}, |
| 232 | ) |
| 233 | const flushAnalyticsSpy = spyOn( |
| 234 | analyticsModule, |
| 235 | 'flushAnalytics', |
| 236 | ).mockImplementation(async () => {}) |
| 237 | |
| 238 | return { |
| 239 | trackEvent: trackEventSpy, |
| 240 | flushAnalytics: flushAnalyticsSpy, |
| 241 | restore: () => { |
| 242 | trackEventSpy.mockRestore() |
| 243 | flushAnalyticsSpy.mockRestore() |
| 244 | }, |
| 245 | clear: () => { |
| 246 | trackEventSpy.mockClear() |
| 247 | flushAnalyticsSpy.mockClear() |
| 248 | }, |
| 249 | } |
| 250 | } |
| 251 | |
| 252 | /** |
| 253 | * Restores all mock methods on an analytics object. |