Loading app/src/main/java/foundation/e/apps/data/install/core/helper/AgeLimitGate.kt→app/src/main/java/foundation/e/apps/data/install/core/helper/AgeLimiter.kt +1 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ import foundation.e.apps.domain.model.ContentRatingValidity import kotlinx.coroutines.CompletableDeferred import javax.inject.Inject class AgeLimitGate @Inject constructor( class AgeLimiter @Inject constructor( private val validateAppAgeLimitUseCase: ValidateAppAgeLimitUseCase, private val appManagerWrapper: AppManagerWrapper, private val appEventDispatcher: AppEventDispatcher, Loading app/src/main/java/foundation/e/apps/data/install/core/helper/PreEnqueueChecker.kt +2 −2 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ import javax.inject.Inject class PreEnqueueChecker @Inject constructor( private val downloadUrlRefresher: DownloadUrlRefresher, private val appManagerWrapper: AppManagerWrapper, private val ageLimitGate: AgeLimitGate, private val ageLimiter: AgeLimiter, private val devicePreconditions: DevicePreconditions, ) { suspend fun canEnqueue(appInstall: AppInstall, isAnUpdate: Boolean = false): Boolean { Loading @@ -35,7 +35,7 @@ class PreEnqueueChecker @Inject constructor( downloadUrlRefresher.updateDownloadUrls(appInstall, isAnUpdate) val isDownloadAdded = hasUpdatedDownloadUrls && addDownload(appInstall) val isAgeLimitAllowed = isDownloadAdded && ageLimitGate.allow(appInstall) val isAgeLimitAllowed = isDownloadAdded && ageLimiter.allow(appInstall) return isAgeLimitAllowed && devicePreconditions.canProceed(appInstall) } Loading app/src/test/java/foundation/e/apps/installProcessor/AgeLimitGateTest.kt→app/src/test/java/foundation/e/apps/installProcessor/AgeLimiterTest.kt +4 −4 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ import foundation.e.apps.data.enums.ResultStatus import foundation.e.apps.data.event.AppEvent import foundation.e.apps.data.install.AppManagerWrapper import foundation.e.apps.data.install.models.AppInstall import foundation.e.apps.data.install.core.helper.AgeLimitGate import foundation.e.apps.data.install.core.helper.AgeLimiter import foundation.e.apps.data.install.wrapper.ParentalControlAuthGateway import foundation.e.apps.domain.ValidateAppAgeLimitUseCase import foundation.e.apps.domain.model.ContentRatingValidity Loading @@ -41,12 +41,12 @@ import org.junit.Test import org.mockito.Mockito @OptIn(ExperimentalCoroutinesApi::class) class AgeLimitGateTest { class AgeLimiterTest { private lateinit var validateAppAgeLimitUseCase: ValidateAppAgeLimitUseCase private lateinit var appManagerWrapper: AppManagerWrapper private lateinit var parentalControlAuthGateway: ParentalControlAuthGateway private lateinit var appEventDispatcher: FakeAppEventDispatcher private lateinit var gate: AgeLimitGate private lateinit var gate: AgeLimiter @Before fun setup() { Loading @@ -54,7 +54,7 @@ class AgeLimitGateTest { appManagerWrapper = mockk(relaxed = true) parentalControlAuthGateway = mockk(relaxed = true) appEventDispatcher = FakeAppEventDispatcher(autoCompleteDeferred = true) gate = AgeLimitGate( gate = AgeLimiter( validateAppAgeLimitUseCase, appManagerWrapper, appEventDispatcher, Loading app/src/test/java/foundation/e/apps/installProcessor/InstallationEnqueuerTest.kt +9 −9 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ import foundation.e.apps.data.install.AppInstallRepository import foundation.e.apps.data.install.AppManagerWrapper import foundation.e.apps.data.install.models.AppInstall import foundation.e.apps.data.install.notification.StorageNotificationManager import foundation.e.apps.data.install.core.helper.AgeLimitGate import foundation.e.apps.data.install.core.helper.AgeLimiter import foundation.e.apps.data.install.core.helper.DevicePreconditions import foundation.e.apps.data.install.core.helper.DownloadUrlRefresher import foundation.e.apps.data.install.core.helper.PreEnqueueChecker Loading Loading @@ -68,7 +68,7 @@ class InstallationEnqueuerTest { private lateinit var sessionRepository: SessionRepository private lateinit var playStoreAuthStore: PlayStoreAuthStore private lateinit var storageNotificationManager: StorageNotificationManager private lateinit var ageLimitGate: AgeLimitGate private lateinit var ageLimiter: AgeLimiter private lateinit var appEventDispatcher: FakeAppEventDispatcher private lateinit var storageSpaceChecker: StorageSpaceChecker private lateinit var networkStatusChecker: NetworkStatusChecker Loading @@ -87,7 +87,7 @@ class InstallationEnqueuerTest { sessionRepository = mockk(relaxed = true) playStoreAuthStore = mockk(relaxed = true) storageNotificationManager = mockk(relaxed = true) ageLimitGate = mockk(relaxed = true) ageLimiter = mockk(relaxed = true) appEventDispatcher = FakeAppEventDispatcher() storageSpaceChecker = mockk(relaxed = true) networkStatusChecker = mockk(relaxed = true) Loading @@ -111,7 +111,7 @@ class InstallationEnqueuerTest { preflightChecker = PreEnqueueChecker( downloadUrlRefresher, appManagerWrapper, ageLimitGate, ageLimiter, devicePreconditions ) enqueuer = InstallationEnqueuer( Loading @@ -129,7 +129,7 @@ class InstallationEnqueuerTest { val appInstall = createPwaInstall() coEvery { appManagerWrapper.addDownload(appInstall) } returns true coEvery { ageLimitGate.allow(appInstall) } returns true coEvery { ageLimiter.allow(appInstall) } returns true every { networkStatusChecker.isNetworkAvailable() } returns true every { storageSpaceChecker.spaceMissing(appInstall) } returns 0L Loading @@ -143,7 +143,7 @@ class InstallationEnqueuerTest { val appInstall = createPwaInstall() coEvery { appManagerWrapper.addDownload(appInstall) } returns true coEvery { ageLimitGate.allow(appInstall) } returns true coEvery { ageLimiter.allow(appInstall) } returns true every { networkStatusChecker.isNetworkAvailable() } returns false every { storageSpaceChecker.spaceMissing(appInstall) } returns 0L Loading @@ -158,7 +158,7 @@ class InstallationEnqueuerTest { val appInstall = createPwaInstall() coEvery { appManagerWrapper.addDownload(appInstall) } returns true coEvery { ageLimitGate.allow(appInstall) } returns true coEvery { ageLimiter.allow(appInstall) } returns true every { networkStatusChecker.isNetworkAvailable() } returns true every { storageSpaceChecker.spaceMissing(appInstall) } returns 100L Loading @@ -178,7 +178,7 @@ class InstallationEnqueuerTest { val result = enqueuer.canEnqueue(appInstall) assertFalse(result) coVerify(exactly = 0) { ageLimitGate.allow(any()) } coVerify(exactly = 0) { ageLimiter.allow(any()) } } @Test Loading @@ -192,7 +192,7 @@ class InstallationEnqueuerTest { playStoreAuthStore.awaitAuthData() } returns AuthData(email = "anon@example.com", isAnonymous = true) coEvery { appManagerWrapper.addDownload(appInstall) } returns true coEvery { ageLimitGate.allow(appInstall) } returns true coEvery { ageLimiter.allow(appInstall) } returns true every { networkStatusChecker.isNetworkAvailable() } returns true every { storageSpaceChecker.spaceMissing(appInstall) } returns 0L justRun { InstallWorkManager.enqueueWork(any(), any(), any()) } Loading app/src/test/java/foundation/e/apps/installProcessor/PreEnqueueCheckerTest.kt +9 −9 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ import foundation.e.apps.data.enums.Source import foundation.e.apps.data.enums.Type import foundation.e.apps.data.install.AppManagerWrapper import foundation.e.apps.data.install.models.AppInstall import foundation.e.apps.data.install.core.helper.AgeLimitGate import foundation.e.apps.data.install.core.helper.AgeLimiter import foundation.e.apps.data.install.core.helper.DevicePreconditions import foundation.e.apps.data.install.core.helper.DownloadUrlRefresher import foundation.e.apps.data.install.core.helper.PreEnqueueChecker Loading @@ -41,7 +41,7 @@ import org.junit.Test class PreEnqueueCheckerTest { private lateinit var downloadUrlRefresher: DownloadUrlRefresher private lateinit var appManagerWrapper: AppManagerWrapper private lateinit var ageLimitGate: AgeLimitGate private lateinit var ageLimiter: AgeLimiter private lateinit var devicePreconditions: DevicePreconditions private lateinit var checker: PreEnqueueChecker Loading @@ -49,12 +49,12 @@ class PreEnqueueCheckerTest { fun setup() { downloadUrlRefresher = mockk(relaxed = true) appManagerWrapper = mockk(relaxed = true) ageLimitGate = mockk(relaxed = true) ageLimiter = mockk(relaxed = true) devicePreconditions = mockk(relaxed = true) checker = PreEnqueueChecker( downloadUrlRefresher, appManagerWrapper, ageLimitGate, ageLimiter, devicePreconditions ) } Loading @@ -63,7 +63,7 @@ class PreEnqueueCheckerTest { fun canEnqueue_skipsDownloadUrlRefreshForPwaInstalls() = runTest { val appInstall = createPwaInstall() coEvery { appManagerWrapper.addDownload(appInstall) } returns true coEvery { ageLimitGate.allow(appInstall) } returns true coEvery { ageLimiter.allow(appInstall) } returns true coEvery { devicePreconditions.canProceed(appInstall) } returns true val result = checker.canEnqueue(appInstall) Loading @@ -83,7 +83,7 @@ class PreEnqueueCheckerTest { assertFalse(result) coVerify(exactly = 0) { appManagerWrapper.addDownload(any()) } coVerify(exactly = 0) { ageLimitGate.allow(any()) } coVerify(exactly = 0) { ageLimiter.allow(any()) } coVerify(exactly = 0) { devicePreconditions.canProceed(any()) } } Loading @@ -96,7 +96,7 @@ class PreEnqueueCheckerTest { val result = checker.canEnqueue(appInstall) assertFalse(result) coVerify(exactly = 0) { ageLimitGate.allow(any()) } coVerify(exactly = 0) { ageLimiter.allow(any()) } coVerify(exactly = 0) { devicePreconditions.canProceed(any()) } } Loading @@ -105,7 +105,7 @@ class PreEnqueueCheckerTest { val appInstall = createNativeInstall() coEvery { downloadUrlRefresher.updateDownloadUrls(appInstall, false) } returns true coEvery { appManagerWrapper.addDownload(appInstall) } returns true coEvery { ageLimitGate.allow(appInstall) } returns false coEvery { ageLimiter.allow(appInstall) } returns false val result = checker.canEnqueue(appInstall) Loading @@ -118,7 +118,7 @@ class PreEnqueueCheckerTest { val appInstall = createNativeInstall() coEvery { downloadUrlRefresher.updateDownloadUrls(appInstall, false) } returns true coEvery { appManagerWrapper.addDownload(appInstall) } returns true coEvery { ageLimitGate.allow(appInstall) } returns true coEvery { ageLimiter.allow(appInstall) } returns true coEvery { devicePreconditions.canProceed(appInstall) } returns true val result = checker.canEnqueue(appInstall) Loading Loading
app/src/main/java/foundation/e/apps/data/install/core/helper/AgeLimitGate.kt→app/src/main/java/foundation/e/apps/data/install/core/helper/AgeLimiter.kt +1 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ import foundation.e.apps.domain.model.ContentRatingValidity import kotlinx.coroutines.CompletableDeferred import javax.inject.Inject class AgeLimitGate @Inject constructor( class AgeLimiter @Inject constructor( private val validateAppAgeLimitUseCase: ValidateAppAgeLimitUseCase, private val appManagerWrapper: AppManagerWrapper, private val appEventDispatcher: AppEventDispatcher, Loading
app/src/main/java/foundation/e/apps/data/install/core/helper/PreEnqueueChecker.kt +2 −2 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ import javax.inject.Inject class PreEnqueueChecker @Inject constructor( private val downloadUrlRefresher: DownloadUrlRefresher, private val appManagerWrapper: AppManagerWrapper, private val ageLimitGate: AgeLimitGate, private val ageLimiter: AgeLimiter, private val devicePreconditions: DevicePreconditions, ) { suspend fun canEnqueue(appInstall: AppInstall, isAnUpdate: Boolean = false): Boolean { Loading @@ -35,7 +35,7 @@ class PreEnqueueChecker @Inject constructor( downloadUrlRefresher.updateDownloadUrls(appInstall, isAnUpdate) val isDownloadAdded = hasUpdatedDownloadUrls && addDownload(appInstall) val isAgeLimitAllowed = isDownloadAdded && ageLimitGate.allow(appInstall) val isAgeLimitAllowed = isDownloadAdded && ageLimiter.allow(appInstall) return isAgeLimitAllowed && devicePreconditions.canProceed(appInstall) } Loading
app/src/test/java/foundation/e/apps/installProcessor/AgeLimitGateTest.kt→app/src/test/java/foundation/e/apps/installProcessor/AgeLimiterTest.kt +4 −4 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ import foundation.e.apps.data.enums.ResultStatus import foundation.e.apps.data.event.AppEvent import foundation.e.apps.data.install.AppManagerWrapper import foundation.e.apps.data.install.models.AppInstall import foundation.e.apps.data.install.core.helper.AgeLimitGate import foundation.e.apps.data.install.core.helper.AgeLimiter import foundation.e.apps.data.install.wrapper.ParentalControlAuthGateway import foundation.e.apps.domain.ValidateAppAgeLimitUseCase import foundation.e.apps.domain.model.ContentRatingValidity Loading @@ -41,12 +41,12 @@ import org.junit.Test import org.mockito.Mockito @OptIn(ExperimentalCoroutinesApi::class) class AgeLimitGateTest { class AgeLimiterTest { private lateinit var validateAppAgeLimitUseCase: ValidateAppAgeLimitUseCase private lateinit var appManagerWrapper: AppManagerWrapper private lateinit var parentalControlAuthGateway: ParentalControlAuthGateway private lateinit var appEventDispatcher: FakeAppEventDispatcher private lateinit var gate: AgeLimitGate private lateinit var gate: AgeLimiter @Before fun setup() { Loading @@ -54,7 +54,7 @@ class AgeLimitGateTest { appManagerWrapper = mockk(relaxed = true) parentalControlAuthGateway = mockk(relaxed = true) appEventDispatcher = FakeAppEventDispatcher(autoCompleteDeferred = true) gate = AgeLimitGate( gate = AgeLimiter( validateAppAgeLimitUseCase, appManagerWrapper, appEventDispatcher, Loading
app/src/test/java/foundation/e/apps/installProcessor/InstallationEnqueuerTest.kt +9 −9 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ import foundation.e.apps.data.install.AppInstallRepository import foundation.e.apps.data.install.AppManagerWrapper import foundation.e.apps.data.install.models.AppInstall import foundation.e.apps.data.install.notification.StorageNotificationManager import foundation.e.apps.data.install.core.helper.AgeLimitGate import foundation.e.apps.data.install.core.helper.AgeLimiter import foundation.e.apps.data.install.core.helper.DevicePreconditions import foundation.e.apps.data.install.core.helper.DownloadUrlRefresher import foundation.e.apps.data.install.core.helper.PreEnqueueChecker Loading Loading @@ -68,7 +68,7 @@ class InstallationEnqueuerTest { private lateinit var sessionRepository: SessionRepository private lateinit var playStoreAuthStore: PlayStoreAuthStore private lateinit var storageNotificationManager: StorageNotificationManager private lateinit var ageLimitGate: AgeLimitGate private lateinit var ageLimiter: AgeLimiter private lateinit var appEventDispatcher: FakeAppEventDispatcher private lateinit var storageSpaceChecker: StorageSpaceChecker private lateinit var networkStatusChecker: NetworkStatusChecker Loading @@ -87,7 +87,7 @@ class InstallationEnqueuerTest { sessionRepository = mockk(relaxed = true) playStoreAuthStore = mockk(relaxed = true) storageNotificationManager = mockk(relaxed = true) ageLimitGate = mockk(relaxed = true) ageLimiter = mockk(relaxed = true) appEventDispatcher = FakeAppEventDispatcher() storageSpaceChecker = mockk(relaxed = true) networkStatusChecker = mockk(relaxed = true) Loading @@ -111,7 +111,7 @@ class InstallationEnqueuerTest { preflightChecker = PreEnqueueChecker( downloadUrlRefresher, appManagerWrapper, ageLimitGate, ageLimiter, devicePreconditions ) enqueuer = InstallationEnqueuer( Loading @@ -129,7 +129,7 @@ class InstallationEnqueuerTest { val appInstall = createPwaInstall() coEvery { appManagerWrapper.addDownload(appInstall) } returns true coEvery { ageLimitGate.allow(appInstall) } returns true coEvery { ageLimiter.allow(appInstall) } returns true every { networkStatusChecker.isNetworkAvailable() } returns true every { storageSpaceChecker.spaceMissing(appInstall) } returns 0L Loading @@ -143,7 +143,7 @@ class InstallationEnqueuerTest { val appInstall = createPwaInstall() coEvery { appManagerWrapper.addDownload(appInstall) } returns true coEvery { ageLimitGate.allow(appInstall) } returns true coEvery { ageLimiter.allow(appInstall) } returns true every { networkStatusChecker.isNetworkAvailable() } returns false every { storageSpaceChecker.spaceMissing(appInstall) } returns 0L Loading @@ -158,7 +158,7 @@ class InstallationEnqueuerTest { val appInstall = createPwaInstall() coEvery { appManagerWrapper.addDownload(appInstall) } returns true coEvery { ageLimitGate.allow(appInstall) } returns true coEvery { ageLimiter.allow(appInstall) } returns true every { networkStatusChecker.isNetworkAvailable() } returns true every { storageSpaceChecker.spaceMissing(appInstall) } returns 100L Loading @@ -178,7 +178,7 @@ class InstallationEnqueuerTest { val result = enqueuer.canEnqueue(appInstall) assertFalse(result) coVerify(exactly = 0) { ageLimitGate.allow(any()) } coVerify(exactly = 0) { ageLimiter.allow(any()) } } @Test Loading @@ -192,7 +192,7 @@ class InstallationEnqueuerTest { playStoreAuthStore.awaitAuthData() } returns AuthData(email = "anon@example.com", isAnonymous = true) coEvery { appManagerWrapper.addDownload(appInstall) } returns true coEvery { ageLimitGate.allow(appInstall) } returns true coEvery { ageLimiter.allow(appInstall) } returns true every { networkStatusChecker.isNetworkAvailable() } returns true every { storageSpaceChecker.spaceMissing(appInstall) } returns 0L justRun { InstallWorkManager.enqueueWork(any(), any(), any()) } Loading
app/src/test/java/foundation/e/apps/installProcessor/PreEnqueueCheckerTest.kt +9 −9 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ import foundation.e.apps.data.enums.Source import foundation.e.apps.data.enums.Type import foundation.e.apps.data.install.AppManagerWrapper import foundation.e.apps.data.install.models.AppInstall import foundation.e.apps.data.install.core.helper.AgeLimitGate import foundation.e.apps.data.install.core.helper.AgeLimiter import foundation.e.apps.data.install.core.helper.DevicePreconditions import foundation.e.apps.data.install.core.helper.DownloadUrlRefresher import foundation.e.apps.data.install.core.helper.PreEnqueueChecker Loading @@ -41,7 +41,7 @@ import org.junit.Test class PreEnqueueCheckerTest { private lateinit var downloadUrlRefresher: DownloadUrlRefresher private lateinit var appManagerWrapper: AppManagerWrapper private lateinit var ageLimitGate: AgeLimitGate private lateinit var ageLimiter: AgeLimiter private lateinit var devicePreconditions: DevicePreconditions private lateinit var checker: PreEnqueueChecker Loading @@ -49,12 +49,12 @@ class PreEnqueueCheckerTest { fun setup() { downloadUrlRefresher = mockk(relaxed = true) appManagerWrapper = mockk(relaxed = true) ageLimitGate = mockk(relaxed = true) ageLimiter = mockk(relaxed = true) devicePreconditions = mockk(relaxed = true) checker = PreEnqueueChecker( downloadUrlRefresher, appManagerWrapper, ageLimitGate, ageLimiter, devicePreconditions ) } Loading @@ -63,7 +63,7 @@ class PreEnqueueCheckerTest { fun canEnqueue_skipsDownloadUrlRefreshForPwaInstalls() = runTest { val appInstall = createPwaInstall() coEvery { appManagerWrapper.addDownload(appInstall) } returns true coEvery { ageLimitGate.allow(appInstall) } returns true coEvery { ageLimiter.allow(appInstall) } returns true coEvery { devicePreconditions.canProceed(appInstall) } returns true val result = checker.canEnqueue(appInstall) Loading @@ -83,7 +83,7 @@ class PreEnqueueCheckerTest { assertFalse(result) coVerify(exactly = 0) { appManagerWrapper.addDownload(any()) } coVerify(exactly = 0) { ageLimitGate.allow(any()) } coVerify(exactly = 0) { ageLimiter.allow(any()) } coVerify(exactly = 0) { devicePreconditions.canProceed(any()) } } Loading @@ -96,7 +96,7 @@ class PreEnqueueCheckerTest { val result = checker.canEnqueue(appInstall) assertFalse(result) coVerify(exactly = 0) { ageLimitGate.allow(any()) } coVerify(exactly = 0) { ageLimiter.allow(any()) } coVerify(exactly = 0) { devicePreconditions.canProceed(any()) } } Loading @@ -105,7 +105,7 @@ class PreEnqueueCheckerTest { val appInstall = createNativeInstall() coEvery { downloadUrlRefresher.updateDownloadUrls(appInstall, false) } returns true coEvery { appManagerWrapper.addDownload(appInstall) } returns true coEvery { ageLimitGate.allow(appInstall) } returns false coEvery { ageLimiter.allow(appInstall) } returns false val result = checker.canEnqueue(appInstall) Loading @@ -118,7 +118,7 @@ class PreEnqueueCheckerTest { val appInstall = createNativeInstall() coEvery { downloadUrlRefresher.updateDownloadUrls(appInstall, false) } returns true coEvery { appManagerWrapper.addDownload(appInstall) } returns true coEvery { ageLimitGate.allow(appInstall) } returns true coEvery { ageLimiter.allow(appInstall) } returns true coEvery { devicePreconditions.canProceed(appInstall) } returns true val result = checker.canEnqueue(appInstall) Loading