package com.servicebook import com.servicebook.data.billing.DebugBillingOverride import com.servicebook.data.billing.FakeBillingManager import com.servicebook.data.preferences.AppPreferences import com.servicebook.domain.AppGate import io.mockk.every import io.mockk.mockk import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.test.TestScope open class TestServiceBookApplication : ServiceBookApplication() { val testScope = TestScope() override fun onCreate() { applicationScope = testScope super.onCreate() } override fun installCrashReporter() { // No-op for tests to avoid leaking uncaught exception handlers } override fun initDependencies() { preferences = mockk(relaxed = true) every { preferences.preferences } returns flowOf(AppPreferences()) vaultStorage = mockk(relaxed = true) vehicleRepository = mockk(relaxed = true) recordRepository = mockk(relaxed = true) categoryRepository = mockk(relaxed = true) debugBillingOverride = DebugBillingOverride(preferences, applicationScope) billingManager = FakeBillingManager() appGate = AppGate(vehicleRepository, billingManager, applicationScope) } }