import BitwardenKit import BitwardenKitMocks import UIKit @testable import BitwardenShared // MARK: - MockAppModule class MockAppModule: AddEditFolderModule, AppModule, AuthModule, DebugMenuModule, ExportCXFModule, ExtensionSetupModule, FileSelectionModule, FlightRecorderModule, GeneratorModule, ImportCXFModule, ImportLoginsModule, LoginRequestModule, NavigatorBuilderModule, PasswordAutoFillModule, PasswordHistoryModule, ProfileSwitcherModule, SendModule, SendItemModule, SettingsModule, TabModule, VaultModule, VaultItemModule { var addEditFolderCoordinator = MockCoordinator() var appCoordinator = MockCoordinator() var authCoordinator = MockCoordinator() var authRouter = MockRouter(routeForEvent: { _ in .landing }) var debugMenuCoordinator = MockCoordinator() var debugMenuCoordinatorDelegate: DebugMenuCoordinatorDelegate? var exportCXFCoordinator = MockCoordinator() var extensionSetupCoordinator = MockCoordinator() var fileSelectionDelegate: FileSelectionDelegate? var fileSelectionCoordinator = MockCoordinator() var flightRecorderCoordinator = MockCoordinator() var generatorCoordinator = MockCoordinator() var importCXFCoordinator = MockCoordinator() var importLoginsCoordinator = MockCoordinator() var loginRequestCoordinator = MockCoordinator() var passwordAutoFillCoordinator = MockCoordinator() var passwordAutoFillCoordinatorDelegate: PasswordAutoFillCoordinatorDelegate? // swiftlint:disable:next weak_navigator identifier_name var passwordAutoFillCoordinatorStackNavigator: StackNavigator? var passwordHistoryCoordinator = MockCoordinator() var profileSwitcherCoordinator = MockCoordinator() var sendCoordinator = MockCoordinator() var sendItemCoordinator = MockCoordinator() var settingsCoordinator = MockCoordinator() var settingsNavigator: StackNavigator? // swiftlint:disable:this weak_navigator var tabCoordinator = MockCoordinator() var vaultCoordinator = MockCoordinator() var vaultItemCoordinator = MockCoordinator() func makeAddEditFolderCoordinator( stackNavigator _: StackNavigator, ) -> AnyCoordinator { addEditFolderCoordinator.asAnyCoordinator() } func makeAppCoordinator( appContext _: AppContext, navigator _: RootNavigator, ) -> AnyCoordinator { appCoordinator.asAnyCoordinator() } func makeAuthCoordinator( delegate _: AuthCoordinatorDelegate?, rootNavigator _: RootNavigator?, stackNavigator _: StackNavigator, ) -> AnyCoordinator { authCoordinator.asAnyCoordinator() } func makeAuthRouter() -> AnyRouter { authRouter.asAnyRouter() } func makeDebugMenuCoordinator( delegate: DebugMenuCoordinatorDelegate, stackNavigator: StackNavigator, ) -> AnyCoordinator { debugMenuCoordinatorDelegate = delegate return debugMenuCoordinator.asAnyCoordinator() } func makeExportCXFCoordinator( stackNavigator: StackNavigator, ) -> AnyCoordinator { exportCXFCoordinator.asAnyCoordinator() } func makeExtensionSetupCoordinator( stackNavigator _: StackNavigator, ) -> AnyCoordinator { extensionSetupCoordinator.asAnyCoordinator() } func makeFileSelectionCoordinator( delegate: FileSelectionDelegate, stackNavigator _: StackNavigator, ) -> AnyCoordinator { fileSelectionDelegate = delegate return fileSelectionCoordinator.asAnyCoordinator() } func makeFlightRecorderCoordinator( stackNavigator _: StackNavigator, ) -> AnyCoordinator { flightRecorderCoordinator.asAnyCoordinator() } func makeGeneratorCoordinator( delegate _: GeneratorCoordinatorDelegate?, stackNavigator _: StackNavigator, ) -> AnyCoordinator { generatorCoordinator.asAnyCoordinator() } func makeImportCXFCoordinator( stackNavigator: any StackNavigator, ) -> AnyCoordinator { importCXFCoordinator.asAnyCoordinator() } func makeImportLoginsCoordinator( delegate: any ImportLoginsCoordinatorDelegate, stackNavigator: any StackNavigator, ) -> AnyCoordinator { importLoginsCoordinator.asAnyCoordinator() } func makeLoginRequestCoordinator( stackNavigator _: StackNavigator, ) -> AnyCoordinator { loginRequestCoordinator.asAnyCoordinator() } func makeNavigationController() -> UINavigationController { UINavigationController() } func makePasswordAutoFillCoordinator( delegate: PasswordAutoFillCoordinatorDelegate?, stackNavigator: StackNavigator, ) -> AnyCoordinator { passwordAutoFillCoordinatorDelegate = delegate passwordAutoFillCoordinatorStackNavigator = stackNavigator return passwordAutoFillCoordinator.asAnyCoordinator() } func makePasswordHistoryCoordinator( stackNavigator _: StackNavigator, ) -> AnyCoordinator { passwordHistoryCoordinator.asAnyCoordinator() } func makeProfileSwitcherCoordinator( handler: any ProfileSwitcherHandler, stackNavigator: any StackNavigator, ) -> AnyCoordinator { profileSwitcherCoordinator.asAnyCoordinator() } func makeSendCoordinator( stackNavigator _: StackNavigator, ) -> AnyCoordinator { sendCoordinator.asAnyCoordinator() } func makeSendItemCoordinator( delegate _: SendItemDelegate, stackNavigator _: StackNavigator, ) -> AnyCoordinator { sendItemCoordinator.asAnyCoordinator() } func makeSettingsCoordinator( delegate _: SettingsCoordinatorDelegate?, stackNavigator: StackNavigator, ) -> AnyCoordinator { settingsNavigator = stackNavigator return settingsCoordinator.asAnyCoordinator() } func makeTabCoordinator( // swiftlint:disable:this function_parameter_count errorReporter _: ErrorReporter, rootNavigator _: RootNavigator, settingsDelegate _: SettingsCoordinatorDelegate, tabNavigator _: TabNavigator, vaultDelegate _: VaultCoordinatorDelegate, vaultRepository _: VaultRepository, ) -> AnyCoordinator { tabCoordinator.asAnyCoordinator() } func makeVaultCoordinator( delegate _: VaultCoordinatorDelegate, stackNavigator _: StackNavigator, ) -> AnyCoordinator { vaultCoordinator.asAnyCoordinator() } func makeVaultItemCoordinator( stackNavigator _: StackNavigator, ) -> AnyCoordinator { vaultItemCoordinator.asAnyCoordinator() } }