Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2ef7e1d3 authored by Jonathan Klee's avatar Jonathan Klee
Browse files

refactor: remove useless isAnonymousUser() call

parent d0d1e519
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -176,7 +176,7 @@ class PlayStoreRepository @Inject constructor(
                getAppDetailsHelper().getAppByPackageName(packageNames)
            }

            if (!isEmulator() && appDetails.all { it.versionCode == 0L } && isAnonymousUser()) {
            if (!isEmulator() && appDetails.all { it.versionCode == 0L }) {
                // Google Play returns limited result ( i.e. version code being 0) with a stale token,
                // so we need to refresh authentication to get a new token.
                Timber.i("Version code is 0.")
+32 −1
Original line number Diff line number Diff line
@@ -440,15 +440,46 @@ class PlayStoreRepositoryTest {
    }

    @Test
    fun `getAppsDetails does not refresh auth for non-anonymous user when all version codes are zero`() = runTest {
    fun `getAppsDetails refreshes auth for non-anonymous user when all version codes are zero`() = runTest {
        val authData = AuthData(email = "user@gmail.com", isAnonymous = false)
        val staleApps = listOf(App(packageName = "pkg.test", versionCode = 0))
        val refreshedApps = listOf(App(packageName = "pkg.test", versionCode = 5))
        val playStoreAuthManager = mock<PlayStoreAuthManager>()
        val storeAuthCoordinator = mock<StoreAuthCoordinator>()
        val playStoreAuthStore = createPlayStoreAuthStore(authData)

        repository = createRepository(playStoreAuthManager, playStoreAuthStore, storeAuthCoordinator)

        whenever(playStoreAuthManager.getGPlayAuthOrThrow()).thenReturn(authData)
        whenever(storeAuthCoordinator.fetchAuthObjects(listOf(StoreType.PLAY_STORE)))
            .thenReturn(emptyList())
        every {
            anyConstructed<AppDetailsHelper>().getAppByPackageName(listOf("pkg.test"))
        } returns staleApps andThen refreshedApps

        val result = repository.getAppsDetails(listOf("pkg.test"))

        assertThat(result).hasSize(1)
        assertThat(result.first().package_name).isEqualTo("pkg.test")
        mockitoVerify(storeAuthCoordinator).fetchAuthObjects(listOf(StoreType.PLAY_STORE))
        verify(exactly = 2) {
            anyConstructed<AppDetailsHelper>().getAppByPackageName(listOf("pkg.test"))
        }
    }

    @Test
    fun `getAppsDetails does not refresh auth on emulator when all version codes are zero`() = runTest {
        val authData = AuthData(email = "user@gmail.com", isAnonymous = false)
        val staleApps = listOf(App(packageName = "pkg.test", versionCode = 0))
        val playStoreAuthManager = mock<PlayStoreAuthManager>()
        val storeAuthCoordinator = mock<StoreAuthCoordinator>()

        every { SystemInfoProvider.getSystemProperty("ro.boot.qemu") } returns "1"
        repository = createRepository(
            playStoreAuthManager = playStoreAuthManager,
            storeAuthCoordinator = storeAuthCoordinator
        )

        whenever(playStoreAuthManager.getGPlayAuthOrThrow()).thenReturn(authData)
        every {
            anyConstructed<AppDetailsHelper>().getAppByPackageName(listOf("pkg.test"))