Make AnalyticsService mockable via `AnalyticsServiceProtocol (#5599)

* Create AnalyticsServiceProtocol and conform AnalyticsService

* Replace AnalyticsService properties and arguments with AnalyticsServiceProtocol

* Inline AnalyticsServiceMock replacing old mock

* handle more complex AnalyticsServiceMock callsites

* move documentation from AnalyticsService to AnalyticsServiceProtocol
This commit is contained in:
Michael
2026-05-20 00:23:58 -05:00
committed by GitHub
parent 946cb53559
commit 5a07c98afc
118 changed files with 1218 additions and 505 deletions
@@ -9,10 +9,10 @@
import Foundation
class PollInteractionHandler: PollInteractionHandlerProtocol {
let analyticsService: AnalyticsService
let analyticsService: AnalyticsServiceProtocol
let timelineController: TimelineControllerProtocol
init(analyticsService: AnalyticsService, timelineController: TimelineControllerProtocol) {
init(analyticsService: AnalyticsServiceProtocol, timelineController: TimelineControllerProtocol) {
self.analyticsService = analyticsService
self.timelineController = timelineController
}