Loading app/src/test/java/foundation/e/apps/FusedApiImplTest.kt +111 −138 Original line number Diff line number Diff line Loading @@ -92,6 +92,8 @@ class FusedApiImplTest { private lateinit var formatterMocked: MockedStatic<Formatter> val authData = AuthData("e@e.email", "AtadyMsIAtadyM") @Before fun setup() { MockitoAnnotations.openMocks(this) Loading Loading @@ -120,22 +122,20 @@ class FusedApiImplTest { status = Status.UNAVAILABLE, name = "Demo One", package_name = "foundation.e.demoone" ), FusedApp( ), FusedApp( _id = "112", status = Status.INSTALLED, name = "Demo Two", package_name = "foundation.e.demotwo" ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", package_name = "foundation.e.demothree" ) ) val newAppList = mutableListOf<FusedApp>() val newAppList = mutableListOf<FusedApp>() val isFusedAppUpdated = fusedAPIImpl.isAnyFusedAppUpdated(newAppList, oldAppList) assertTrue("isAnyAppUpdated", isFusedAppUpdated) } Loading @@ -154,34 +154,31 @@ class FusedApiImplTest { status = Status.UNAVAILABLE, name = "Demo One", package_name = "foundation.e.demoone" ), FusedApp( ), FusedApp( _id = "112", status = Status.INSTALLED, name = "Demo Two", package_name = "foundation.e.demotwo" ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", package_name = "foundation.e.demothree" ) ) val newAppList = mutableListOf<FusedApp>( FusedApp( _id = "111", status = Status.UNAVAILABLE, name = "Demo One", package_name = "foundation.e.demoone" ), FusedApp( ), FusedApp( _id = "112", status = Status.UNAVAILABLE, name = "Demo Two", package_name = "foundation.e.demotwo" ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", Loading @@ -202,15 +199,13 @@ class FusedApiImplTest { name = "Demo One", package_name = "foundation.e.demoone", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "112", status = Status.INSTALLED, name = "Demo Two", package_name = "foundation.e.demotwo", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", Loading @@ -218,6 +213,7 @@ class FusedApiImplTest { latest_version_code = 123 ) ) Mockito.`when`(pkgManagerModule.getPackageStatus(eq("foundation.e.demoone"), eq(123))) .thenReturn( Status.UNAVAILABLE Loading @@ -230,6 +226,7 @@ class FusedApiImplTest { .thenReturn( Status.UNAVAILABLE ) val isAppStatusUpdated = fusedAPIImpl.isAnyAppInstallStatusChanged(oldAppList) assertTrue("hasInstallStatusUpdated", isAppStatusUpdated) } Loading @@ -243,15 +240,13 @@ class FusedApiImplTest { name = "Demo One", package_name = "foundation.e.demoone", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "112", status = Status.INSTALLED, name = "Demo Two", package_name = "foundation.e.demotwo", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", Loading @@ -259,6 +254,7 @@ class FusedApiImplTest { latest_version_code = 123 ) ) Mockito.`when`(pkgManagerModule.getPackageStatus(eq("foundation.e.demoone"), eq(123))) .thenReturn( Status.UNAVAILABLE Loading @@ -271,6 +267,7 @@ class FusedApiImplTest { .thenReturn( Status.UNAVAILABLE ) val isAppStatusUpdated = fusedAPIImpl.isAnyAppInstallStatusChanged(oldAppList) assertFalse("hasInstallStatusUpdated", isAppStatusUpdated) } Loading @@ -284,15 +281,13 @@ class FusedApiImplTest { name = "Demo One", package_name = "foundation.e.demoone", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "112", status = Status.INSTALLED, name = "Demo Two", package_name = "foundation.e.demotwo", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", Loading @@ -300,6 +295,7 @@ class FusedApiImplTest { latest_version_code = 123 ) ) Mockito.`when`(pkgManagerModule.getPackageStatus(eq("foundation.e.demoone"), eq(123))) .thenReturn( Status.UNAVAILABLE Loading @@ -312,6 +308,7 @@ class FusedApiImplTest { .thenReturn( Status.UNAVAILABLE ) val isAppStatusUpdated = fusedAPIImpl.isAnyAppInstallStatusChanged(oldAppList) assertFalse("hasInstallStatusUpdated", isAppStatusUpdated) } Loading @@ -325,15 +322,13 @@ class FusedApiImplTest { name = "Demo One", package_name = "foundation.e.demoone", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "112", status = Status.INSTALLED, name = "Demo Two", package_name = "foundation.e.demotwo", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", Loading @@ -341,6 +336,7 @@ class FusedApiImplTest { latest_version_code = 123 ) ) val newAppList = mutableListOf<FusedApp>( FusedApp( _id = "111", Loading @@ -348,15 +344,13 @@ class FusedApiImplTest { name = "Demo One", package_name = "foundation.e.demoone", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "112", status = Status.UNAVAILABLE, name = "Demo Two", package_name = "foundation.e.demotwo", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", Loading @@ -364,6 +358,7 @@ class FusedApiImplTest { latest_version_code = 123 ) ) val oldHomeData = listOf(FusedHome("Top Free Apps", oldAppList), FusedHome("Top Free Games", oldAppList)) var newHomeData = Loading @@ -372,6 +367,7 @@ class FusedApiImplTest { assertFalse("isHomeDataUpdated/NO", isHomeDataUpdated) newHomeData = listOf(FusedHome("Top Free Apps", oldAppList), FusedHome("Top Free Games", newAppList)) isHomeDataUpdated = fusedAPIImpl.isHomeDataUpdated(newHomeData, oldHomeData) assertTrue("isHomeDataUpdated/YES", isHomeDataUpdated) } Loading Loading @@ -408,7 +404,9 @@ class FusedApiImplTest { latest_version_code = 123, is_pwa = true ) Mockito.`when`(pwaManagerModule.getPwaStatus(fusedApp)).thenReturn(fusedApp.status) val installationStatus = fusedAPIImpl.getFusedAppInstallationStatus(fusedApp) assertEquals("getFusedAppInstallationStatusWhenPWA", fusedApp.status, installationStatus) } Loading @@ -421,12 +419,13 @@ class FusedApiImplTest { package_name = "foundation.e.demothree", latest_version_code = 123, ) Mockito.`when`( pkgManagerModule.getPackageStatus( fusedApp.package_name, fusedApp.latest_version_code fusedApp.package_name, fusedApp.latest_version_code ) ).thenReturn(Status.INSTALLED) val installationStatus = fusedAPIImpl.getFusedAppInstallationStatus(fusedApp) assertEquals("getFusedAppInstallationStatusWhenPWA", Status.INSTALLED, installationStatus) } Loading @@ -439,7 +438,7 @@ class FusedApiImplTest { package_name = "", latest_version_code = 123, ) val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val filterLevel = fusedAPIImpl.getAppFilterLevel(fusedApp, authData) assertEquals("getAppFilterLevel", FilterLevel.UNKNOWN, filterLevel) } Loading @@ -454,7 +453,6 @@ class FusedApiImplTest { origin = Origin.CLEANAPK ) val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val filterLevel = fusedAPIImpl.getAppFilterLevel(fusedApp, authData) assertEquals("getAppFilterLevel", FilterLevel.NONE, filterLevel) } Loading @@ -468,6 +466,7 @@ class FusedApiImplTest { latest_version_code = 123, origin = Origin.CLEANAPK ) val filterLevel = fusedAPIImpl.getAppFilterLevel(fusedApp, null) assertEquals("getAppFilterLevel", FilterLevel.NONE, filterLevel) } Loading @@ -484,7 +483,7 @@ class FusedApiImplTest { isFree = false, price = "" ) val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val filterLevel = fusedAPIImpl.getAppFilterLevel(fusedApp, authData) assertEquals("getAppFilterLevel", FilterLevel.UI, filterLevel) } Loading @@ -501,7 +500,7 @@ class FusedApiImplTest { isFree = false, price = "" ) val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val filterLevel = fusedAPIImpl.getAppFilterLevel(fusedApp, authData) assertEquals("getAppFilterLevel", FilterLevel.UI, filterLevel) } Loading @@ -519,7 +518,7 @@ class FusedApiImplTest { isFree = true, price = "" ) val authData = AuthData("e@e.email", "AtadyMsIAtadyM") Mockito.`when`(gPlayAPIRepository.getAppDetails(fusedApp.package_name, authData)) .thenReturn(App(fusedApp.package_name)) Loading @@ -531,13 +530,13 @@ class FusedApiImplTest { authData ) ).thenReturn(listOf()) val filterLevel = fusedAPIImpl.getAppFilterLevel(fusedApp, authData) assertEquals("getAppFilterLevel", FilterLevel.NONE, filterLevel) } @Test fun `getAppFilterLevel when app is restricted and getAppDetails throws exception`() = runTest { fun `getAppFilterLevel when app is restricted and getAppDetails throws exception`() = runTest { val fusedApp = FusedApp( _id = "113", name = "Demo Three", Loading @@ -548,25 +547,22 @@ class FusedApiImplTest { isFree = true, price = "" ) val authData = AuthData("e@e.email", "AtadyMsIAtadyM") Mockito.`when`(gPlayAPIRepository.getAppDetails(fusedApp.package_name, authData)) .thenThrow(RuntimeException()) Mockito.`when`( gPlayAPIRepository.getDownloadInfo( fusedApp.package_name, fusedApp.latest_version_code, fusedApp.offer_type, authData fusedApp.package_name, fusedApp.latest_version_code, fusedApp.offer_type, authData ) ).thenReturn(listOf()) val filterLevel = fusedAPIImpl.getAppFilterLevel(fusedApp, authData) assertEquals("getAppFilterLevel", FilterLevel.DATA, filterLevel) } @Test fun `getAppFilterLevel when app is restricted and getDownoadInfo throws exception`() = runTest { fun `getAppFilterLevel when app is restricted and getDownoadInfo throws exception`() = runTest { val fusedApp = FusedApp( _id = "113", name = "Demo Three", Loading @@ -577,25 +573,22 @@ class FusedApiImplTest { isFree = true, price = "" ) val authData = AuthData("e@e.email", "AtadyMsIAtadyM") Mockito.`when`(gPlayAPIRepository.getAppDetails(fusedApp.package_name, authData)) .thenReturn(App(fusedApp.package_name)) Mockito.`when`( gPlayAPIRepository.getDownloadInfo( fusedApp.package_name, fusedApp.latest_version_code, fusedApp.offer_type, authData fusedApp.package_name, fusedApp.latest_version_code, fusedApp.offer_type, authData ) ).thenThrow(RuntimeException()) val filterLevel = fusedAPIImpl.getAppFilterLevel(fusedApp, authData) assertEquals("getAppFilterLevel", FilterLevel.UI, filterLevel) } @Test fun `getCategory when only pwa is selected`() = runTest { val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val categories = Categories(listOf("app one", "app two", "app three"), listOf("game 1", "game 2"), true) val response = Response.success(categories) Loading @@ -605,8 +598,7 @@ class FusedApiImplTest { Mockito.`when`( cleanApkRepository.getCategoriesList( eq(CleanAPKInterface.APP_TYPE_PWA), eq(CleanAPKInterface.APP_SOURCE_ANY) eq(CleanAPKInterface.APP_TYPE_PWA), eq(CleanAPKInterface.APP_SOURCE_ANY) ) ).thenReturn(response) Loading @@ -614,12 +606,12 @@ class FusedApiImplTest { val categoryListResponse = fusedAPIImpl.getCategoriesList(Category.Type.APPLICATION, authData) assertEquals("getCategory", 3, categoryListResponse.first.size) } @Test fun `getCategory when only open source is selected`() = runTest { val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val categories = Categories(listOf("app one", "app two", "app three"), listOf("game 1", "game 2"), true) val response = Response.success(categories) Loading @@ -630,20 +622,19 @@ class FusedApiImplTest { Mockito.`when`( cleanApkRepository.getCategoriesList( eq(CleanAPKInterface.APP_TYPE_ANY), eq(CleanAPKInterface.APP_SOURCE_FOSS) eq(CleanAPKInterface.APP_TYPE_ANY), eq(CleanAPKInterface.APP_SOURCE_FOSS) ) ).thenReturn(response) Mockito.`when`(context.getString(eq(R.string.open_source))).thenReturn("Open source") val categoryListResponse = fusedAPIImpl.getCategoriesList(Category.Type.APPLICATION, authData) assertEquals("getCategory", 3, categoryListResponse.first.size) } @Test fun `getCategory when gplay source is selected`() = runTest { val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val categories = listOf(Category(), Category(), Category(), Category()) preferenceManagerModule.isPWASelectedFake = false Loading @@ -656,14 +647,12 @@ class FusedApiImplTest { val categoryListResponse = fusedAPIImpl.getCategoriesList(Category.Type.APPLICATION, authData) assertEquals("getCategory", 4, categoryListResponse.first.size) } @Test fun `getCategory when gplay source is selected return error`() = runTest { val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val categories = listOf(Category(), Category(), Category(), Category()) preferenceManagerModule.isPWASelectedFake = false preferenceManagerModule.isOpenSourceelectedFake = false preferenceManagerModule.isGplaySelectedFake = true Loading @@ -674,19 +663,16 @@ class FusedApiImplTest { val categoryListResponse = fusedAPIImpl.getCategoriesList(Category.Type.APPLICATION, authData) assertEquals("getCategory", 0, categoryListResponse.first.size) assertEquals("getCategory", ResultStatus.UNKNOWN, categoryListResponse.third) } @Test fun `getCategory when All source is selected`() = runTest { val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val gplayCategories = listOf(Category(), Category(), Category(), Category()) val openSourcecategories = Categories( listOf("app one", "app two", "app three", "app four"), listOf("game 1", "game 2"), true val openSourcecategories = Categories( listOf("app one", "app two", "app three", "app four"), listOf("game 1", "game 2"), true ) val openSourceResponse = Response.success(openSourcecategories) val pwaCategories = Loading @@ -695,15 +681,13 @@ class FusedApiImplTest { Mockito.`when`( cleanApkRepository.getCategoriesList( eq(CleanAPKInterface.APP_TYPE_ANY), eq(CleanAPKInterface.APP_SOURCE_FOSS) eq(CleanAPKInterface.APP_TYPE_ANY), eq(CleanAPKInterface.APP_SOURCE_FOSS) ) ).thenReturn(openSourceResponse) Mockito.`when`( cleanApkRepository.getCategoriesList( eq(CleanAPKInterface.APP_TYPE_PWA), eq(CleanAPKInterface.APP_SOURCE_ANY) eq(CleanAPKInterface.APP_TYPE_PWA), eq(CleanAPKInterface.APP_SOURCE_ANY) ) ).thenReturn(pwaResponse) Loading @@ -720,12 +704,12 @@ class FusedApiImplTest { val categoryListResponse = fusedAPIImpl.getCategoriesList(Category.Type.APPLICATION, authData) assertEquals("getCategory", 11, categoryListResponse.first.size) } @Test fun `getSearchResult When all sources are selected`() = runTest { val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val appList = mutableListOf<FusedApp>( FusedApp( _id = "111", Loading @@ -733,15 +717,13 @@ class FusedApiImplTest { name = "Demo One", package_name = "foundation.e.demoone", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "112", status = Status.UNAVAILABLE, name = "Demo Two", package_name = "foundation.e.demotwo", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", Loading @@ -749,6 +731,7 @@ class FusedApiImplTest { latest_version_code = 123 ) ) val searchResult = Search(apps = appList, numberOfResults = 1, success = true) val packageNameSearchResponse = Response.success(searchResult) val gplayPackageResult = App("com.search.package") Loading @@ -756,23 +739,19 @@ class FusedApiImplTest { preferenceManagerModule.isPWASelectedFake = true preferenceManagerModule.isOpenSourceelectedFake = true preferenceManagerModule.isGplaySelectedFake = true val gplayLivedata = MutableLiveData( val gplayLivedata = MutableLiveData( Pair( listOf(App("a.b.c"), App("c.d.e"), App("d.e.f"), App("d.e.g")), false listOf(App("a.b.c"), App("c.d.e"), App("d.e.f"), App("d.e.g")), false ) ) setupMockingSearchApp( packageNameSearchResponse, authData, gplayPackageResult, gplayLivedata packageNameSearchResponse, authData, gplayPackageResult, gplayLivedata ) val searchResultLiveData = fusedAPIImpl.getSearchResults("com.search.package", authData).getOrAwaitValue() val size = searchResultLiveData.data?.first?.size ?: -2 assertEquals("getSearchResult", 8, size) } Loading @@ -789,8 +768,7 @@ class FusedApiImplTest { .thenReturn(Status.UNAVAILABLE) Mockito.`when`( cleanApkRepository.searchApps( keyword = "com.search.package", by = "package_name" keyword = "com.search.package", by = "package_name" ) ).thenReturn(packageNameSearchResponse) formatterMocked.`when`<String> { Formatter.formatFileSize(any(), any()) }.thenReturn("15MB") Loading Loading @@ -819,7 +797,6 @@ class FusedApiImplTest { @Test fun `getSearchResult When getApplicationDetailsThrowsException`() = runTest { val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val appList = mutableListOf<FusedApp>( FusedApp( _id = "111", Loading @@ -827,15 +804,13 @@ class FusedApiImplTest { name = "Demo One", package_name = "foundation.e.demoone", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "112", status = Status.UNAVAILABLE, name = "Demo Two", package_name = "foundation.e.demotwo", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", Loading @@ -843,6 +818,7 @@ class FusedApiImplTest { latest_version_code = 123 ) ) val searchResult = Search(apps = appList, numberOfResults = 1, success = true) val packageNameSearchResponse = Response.success(searchResult) val gplayPackageResult = App("com.search.package") Loading @@ -851,11 +827,7 @@ class FusedApiImplTest { MutableLiveData(Pair(listOf(App("a.b.c"), App("c.d.e"), App("d.e.f")), false)) setupMockingSearchApp( packageNameSearchResponse, authData, gplayPackageResult, gplayLivedata, true packageNameSearchResponse, authData, gplayPackageResult, gplayLivedata, true ) preferenceManagerModule.isPWASelectedFake = false Loading @@ -864,6 +836,7 @@ class FusedApiImplTest { val searchResultLiveData = fusedAPIImpl.getSearchResults("com.search.package", authData).getOrAwaitValue() val size = searchResultLiveData.data?.first?.size ?: -2 assertEquals("getSearchResult", 3, size) } Loading Loading
app/src/test/java/foundation/e/apps/FusedApiImplTest.kt +111 −138 Original line number Diff line number Diff line Loading @@ -92,6 +92,8 @@ class FusedApiImplTest { private lateinit var formatterMocked: MockedStatic<Formatter> val authData = AuthData("e@e.email", "AtadyMsIAtadyM") @Before fun setup() { MockitoAnnotations.openMocks(this) Loading Loading @@ -120,22 +122,20 @@ class FusedApiImplTest { status = Status.UNAVAILABLE, name = "Demo One", package_name = "foundation.e.demoone" ), FusedApp( ), FusedApp( _id = "112", status = Status.INSTALLED, name = "Demo Two", package_name = "foundation.e.demotwo" ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", package_name = "foundation.e.demothree" ) ) val newAppList = mutableListOf<FusedApp>() val newAppList = mutableListOf<FusedApp>() val isFusedAppUpdated = fusedAPIImpl.isAnyFusedAppUpdated(newAppList, oldAppList) assertTrue("isAnyAppUpdated", isFusedAppUpdated) } Loading @@ -154,34 +154,31 @@ class FusedApiImplTest { status = Status.UNAVAILABLE, name = "Demo One", package_name = "foundation.e.demoone" ), FusedApp( ), FusedApp( _id = "112", status = Status.INSTALLED, name = "Demo Two", package_name = "foundation.e.demotwo" ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", package_name = "foundation.e.demothree" ) ) val newAppList = mutableListOf<FusedApp>( FusedApp( _id = "111", status = Status.UNAVAILABLE, name = "Demo One", package_name = "foundation.e.demoone" ), FusedApp( ), FusedApp( _id = "112", status = Status.UNAVAILABLE, name = "Demo Two", package_name = "foundation.e.demotwo" ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", Loading @@ -202,15 +199,13 @@ class FusedApiImplTest { name = "Demo One", package_name = "foundation.e.demoone", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "112", status = Status.INSTALLED, name = "Demo Two", package_name = "foundation.e.demotwo", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", Loading @@ -218,6 +213,7 @@ class FusedApiImplTest { latest_version_code = 123 ) ) Mockito.`when`(pkgManagerModule.getPackageStatus(eq("foundation.e.demoone"), eq(123))) .thenReturn( Status.UNAVAILABLE Loading @@ -230,6 +226,7 @@ class FusedApiImplTest { .thenReturn( Status.UNAVAILABLE ) val isAppStatusUpdated = fusedAPIImpl.isAnyAppInstallStatusChanged(oldAppList) assertTrue("hasInstallStatusUpdated", isAppStatusUpdated) } Loading @@ -243,15 +240,13 @@ class FusedApiImplTest { name = "Demo One", package_name = "foundation.e.demoone", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "112", status = Status.INSTALLED, name = "Demo Two", package_name = "foundation.e.demotwo", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", Loading @@ -259,6 +254,7 @@ class FusedApiImplTest { latest_version_code = 123 ) ) Mockito.`when`(pkgManagerModule.getPackageStatus(eq("foundation.e.demoone"), eq(123))) .thenReturn( Status.UNAVAILABLE Loading @@ -271,6 +267,7 @@ class FusedApiImplTest { .thenReturn( Status.UNAVAILABLE ) val isAppStatusUpdated = fusedAPIImpl.isAnyAppInstallStatusChanged(oldAppList) assertFalse("hasInstallStatusUpdated", isAppStatusUpdated) } Loading @@ -284,15 +281,13 @@ class FusedApiImplTest { name = "Demo One", package_name = "foundation.e.demoone", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "112", status = Status.INSTALLED, name = "Demo Two", package_name = "foundation.e.demotwo", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", Loading @@ -300,6 +295,7 @@ class FusedApiImplTest { latest_version_code = 123 ) ) Mockito.`when`(pkgManagerModule.getPackageStatus(eq("foundation.e.demoone"), eq(123))) .thenReturn( Status.UNAVAILABLE Loading @@ -312,6 +308,7 @@ class FusedApiImplTest { .thenReturn( Status.UNAVAILABLE ) val isAppStatusUpdated = fusedAPIImpl.isAnyAppInstallStatusChanged(oldAppList) assertFalse("hasInstallStatusUpdated", isAppStatusUpdated) } Loading @@ -325,15 +322,13 @@ class FusedApiImplTest { name = "Demo One", package_name = "foundation.e.demoone", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "112", status = Status.INSTALLED, name = "Demo Two", package_name = "foundation.e.demotwo", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", Loading @@ -341,6 +336,7 @@ class FusedApiImplTest { latest_version_code = 123 ) ) val newAppList = mutableListOf<FusedApp>( FusedApp( _id = "111", Loading @@ -348,15 +344,13 @@ class FusedApiImplTest { name = "Demo One", package_name = "foundation.e.demoone", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "112", status = Status.UNAVAILABLE, name = "Demo Two", package_name = "foundation.e.demotwo", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", Loading @@ -364,6 +358,7 @@ class FusedApiImplTest { latest_version_code = 123 ) ) val oldHomeData = listOf(FusedHome("Top Free Apps", oldAppList), FusedHome("Top Free Games", oldAppList)) var newHomeData = Loading @@ -372,6 +367,7 @@ class FusedApiImplTest { assertFalse("isHomeDataUpdated/NO", isHomeDataUpdated) newHomeData = listOf(FusedHome("Top Free Apps", oldAppList), FusedHome("Top Free Games", newAppList)) isHomeDataUpdated = fusedAPIImpl.isHomeDataUpdated(newHomeData, oldHomeData) assertTrue("isHomeDataUpdated/YES", isHomeDataUpdated) } Loading Loading @@ -408,7 +404,9 @@ class FusedApiImplTest { latest_version_code = 123, is_pwa = true ) Mockito.`when`(pwaManagerModule.getPwaStatus(fusedApp)).thenReturn(fusedApp.status) val installationStatus = fusedAPIImpl.getFusedAppInstallationStatus(fusedApp) assertEquals("getFusedAppInstallationStatusWhenPWA", fusedApp.status, installationStatus) } Loading @@ -421,12 +419,13 @@ class FusedApiImplTest { package_name = "foundation.e.demothree", latest_version_code = 123, ) Mockito.`when`( pkgManagerModule.getPackageStatus( fusedApp.package_name, fusedApp.latest_version_code fusedApp.package_name, fusedApp.latest_version_code ) ).thenReturn(Status.INSTALLED) val installationStatus = fusedAPIImpl.getFusedAppInstallationStatus(fusedApp) assertEquals("getFusedAppInstallationStatusWhenPWA", Status.INSTALLED, installationStatus) } Loading @@ -439,7 +438,7 @@ class FusedApiImplTest { package_name = "", latest_version_code = 123, ) val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val filterLevel = fusedAPIImpl.getAppFilterLevel(fusedApp, authData) assertEquals("getAppFilterLevel", FilterLevel.UNKNOWN, filterLevel) } Loading @@ -454,7 +453,6 @@ class FusedApiImplTest { origin = Origin.CLEANAPK ) val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val filterLevel = fusedAPIImpl.getAppFilterLevel(fusedApp, authData) assertEquals("getAppFilterLevel", FilterLevel.NONE, filterLevel) } Loading @@ -468,6 +466,7 @@ class FusedApiImplTest { latest_version_code = 123, origin = Origin.CLEANAPK ) val filterLevel = fusedAPIImpl.getAppFilterLevel(fusedApp, null) assertEquals("getAppFilterLevel", FilterLevel.NONE, filterLevel) } Loading @@ -484,7 +483,7 @@ class FusedApiImplTest { isFree = false, price = "" ) val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val filterLevel = fusedAPIImpl.getAppFilterLevel(fusedApp, authData) assertEquals("getAppFilterLevel", FilterLevel.UI, filterLevel) } Loading @@ -501,7 +500,7 @@ class FusedApiImplTest { isFree = false, price = "" ) val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val filterLevel = fusedAPIImpl.getAppFilterLevel(fusedApp, authData) assertEquals("getAppFilterLevel", FilterLevel.UI, filterLevel) } Loading @@ -519,7 +518,7 @@ class FusedApiImplTest { isFree = true, price = "" ) val authData = AuthData("e@e.email", "AtadyMsIAtadyM") Mockito.`when`(gPlayAPIRepository.getAppDetails(fusedApp.package_name, authData)) .thenReturn(App(fusedApp.package_name)) Loading @@ -531,13 +530,13 @@ class FusedApiImplTest { authData ) ).thenReturn(listOf()) val filterLevel = fusedAPIImpl.getAppFilterLevel(fusedApp, authData) assertEquals("getAppFilterLevel", FilterLevel.NONE, filterLevel) } @Test fun `getAppFilterLevel when app is restricted and getAppDetails throws exception`() = runTest { fun `getAppFilterLevel when app is restricted and getAppDetails throws exception`() = runTest { val fusedApp = FusedApp( _id = "113", name = "Demo Three", Loading @@ -548,25 +547,22 @@ class FusedApiImplTest { isFree = true, price = "" ) val authData = AuthData("e@e.email", "AtadyMsIAtadyM") Mockito.`when`(gPlayAPIRepository.getAppDetails(fusedApp.package_name, authData)) .thenThrow(RuntimeException()) Mockito.`when`( gPlayAPIRepository.getDownloadInfo( fusedApp.package_name, fusedApp.latest_version_code, fusedApp.offer_type, authData fusedApp.package_name, fusedApp.latest_version_code, fusedApp.offer_type, authData ) ).thenReturn(listOf()) val filterLevel = fusedAPIImpl.getAppFilterLevel(fusedApp, authData) assertEquals("getAppFilterLevel", FilterLevel.DATA, filterLevel) } @Test fun `getAppFilterLevel when app is restricted and getDownoadInfo throws exception`() = runTest { fun `getAppFilterLevel when app is restricted and getDownoadInfo throws exception`() = runTest { val fusedApp = FusedApp( _id = "113", name = "Demo Three", Loading @@ -577,25 +573,22 @@ class FusedApiImplTest { isFree = true, price = "" ) val authData = AuthData("e@e.email", "AtadyMsIAtadyM") Mockito.`when`(gPlayAPIRepository.getAppDetails(fusedApp.package_name, authData)) .thenReturn(App(fusedApp.package_name)) Mockito.`when`( gPlayAPIRepository.getDownloadInfo( fusedApp.package_name, fusedApp.latest_version_code, fusedApp.offer_type, authData fusedApp.package_name, fusedApp.latest_version_code, fusedApp.offer_type, authData ) ).thenThrow(RuntimeException()) val filterLevel = fusedAPIImpl.getAppFilterLevel(fusedApp, authData) assertEquals("getAppFilterLevel", FilterLevel.UI, filterLevel) } @Test fun `getCategory when only pwa is selected`() = runTest { val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val categories = Categories(listOf("app one", "app two", "app three"), listOf("game 1", "game 2"), true) val response = Response.success(categories) Loading @@ -605,8 +598,7 @@ class FusedApiImplTest { Mockito.`when`( cleanApkRepository.getCategoriesList( eq(CleanAPKInterface.APP_TYPE_PWA), eq(CleanAPKInterface.APP_SOURCE_ANY) eq(CleanAPKInterface.APP_TYPE_PWA), eq(CleanAPKInterface.APP_SOURCE_ANY) ) ).thenReturn(response) Loading @@ -614,12 +606,12 @@ class FusedApiImplTest { val categoryListResponse = fusedAPIImpl.getCategoriesList(Category.Type.APPLICATION, authData) assertEquals("getCategory", 3, categoryListResponse.first.size) } @Test fun `getCategory when only open source is selected`() = runTest { val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val categories = Categories(listOf("app one", "app two", "app three"), listOf("game 1", "game 2"), true) val response = Response.success(categories) Loading @@ -630,20 +622,19 @@ class FusedApiImplTest { Mockito.`when`( cleanApkRepository.getCategoriesList( eq(CleanAPKInterface.APP_TYPE_ANY), eq(CleanAPKInterface.APP_SOURCE_FOSS) eq(CleanAPKInterface.APP_TYPE_ANY), eq(CleanAPKInterface.APP_SOURCE_FOSS) ) ).thenReturn(response) Mockito.`when`(context.getString(eq(R.string.open_source))).thenReturn("Open source") val categoryListResponse = fusedAPIImpl.getCategoriesList(Category.Type.APPLICATION, authData) assertEquals("getCategory", 3, categoryListResponse.first.size) } @Test fun `getCategory when gplay source is selected`() = runTest { val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val categories = listOf(Category(), Category(), Category(), Category()) preferenceManagerModule.isPWASelectedFake = false Loading @@ -656,14 +647,12 @@ class FusedApiImplTest { val categoryListResponse = fusedAPIImpl.getCategoriesList(Category.Type.APPLICATION, authData) assertEquals("getCategory", 4, categoryListResponse.first.size) } @Test fun `getCategory when gplay source is selected return error`() = runTest { val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val categories = listOf(Category(), Category(), Category(), Category()) preferenceManagerModule.isPWASelectedFake = false preferenceManagerModule.isOpenSourceelectedFake = false preferenceManagerModule.isGplaySelectedFake = true Loading @@ -674,19 +663,16 @@ class FusedApiImplTest { val categoryListResponse = fusedAPIImpl.getCategoriesList(Category.Type.APPLICATION, authData) assertEquals("getCategory", 0, categoryListResponse.first.size) assertEquals("getCategory", ResultStatus.UNKNOWN, categoryListResponse.third) } @Test fun `getCategory when All source is selected`() = runTest { val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val gplayCategories = listOf(Category(), Category(), Category(), Category()) val openSourcecategories = Categories( listOf("app one", "app two", "app three", "app four"), listOf("game 1", "game 2"), true val openSourcecategories = Categories( listOf("app one", "app two", "app three", "app four"), listOf("game 1", "game 2"), true ) val openSourceResponse = Response.success(openSourcecategories) val pwaCategories = Loading @@ -695,15 +681,13 @@ class FusedApiImplTest { Mockito.`when`( cleanApkRepository.getCategoriesList( eq(CleanAPKInterface.APP_TYPE_ANY), eq(CleanAPKInterface.APP_SOURCE_FOSS) eq(CleanAPKInterface.APP_TYPE_ANY), eq(CleanAPKInterface.APP_SOURCE_FOSS) ) ).thenReturn(openSourceResponse) Mockito.`when`( cleanApkRepository.getCategoriesList( eq(CleanAPKInterface.APP_TYPE_PWA), eq(CleanAPKInterface.APP_SOURCE_ANY) eq(CleanAPKInterface.APP_TYPE_PWA), eq(CleanAPKInterface.APP_SOURCE_ANY) ) ).thenReturn(pwaResponse) Loading @@ -720,12 +704,12 @@ class FusedApiImplTest { val categoryListResponse = fusedAPIImpl.getCategoriesList(Category.Type.APPLICATION, authData) assertEquals("getCategory", 11, categoryListResponse.first.size) } @Test fun `getSearchResult When all sources are selected`() = runTest { val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val appList = mutableListOf<FusedApp>( FusedApp( _id = "111", Loading @@ -733,15 +717,13 @@ class FusedApiImplTest { name = "Demo One", package_name = "foundation.e.demoone", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "112", status = Status.UNAVAILABLE, name = "Demo Two", package_name = "foundation.e.demotwo", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", Loading @@ -749,6 +731,7 @@ class FusedApiImplTest { latest_version_code = 123 ) ) val searchResult = Search(apps = appList, numberOfResults = 1, success = true) val packageNameSearchResponse = Response.success(searchResult) val gplayPackageResult = App("com.search.package") Loading @@ -756,23 +739,19 @@ class FusedApiImplTest { preferenceManagerModule.isPWASelectedFake = true preferenceManagerModule.isOpenSourceelectedFake = true preferenceManagerModule.isGplaySelectedFake = true val gplayLivedata = MutableLiveData( val gplayLivedata = MutableLiveData( Pair( listOf(App("a.b.c"), App("c.d.e"), App("d.e.f"), App("d.e.g")), false listOf(App("a.b.c"), App("c.d.e"), App("d.e.f"), App("d.e.g")), false ) ) setupMockingSearchApp( packageNameSearchResponse, authData, gplayPackageResult, gplayLivedata packageNameSearchResponse, authData, gplayPackageResult, gplayLivedata ) val searchResultLiveData = fusedAPIImpl.getSearchResults("com.search.package", authData).getOrAwaitValue() val size = searchResultLiveData.data?.first?.size ?: -2 assertEquals("getSearchResult", 8, size) } Loading @@ -789,8 +768,7 @@ class FusedApiImplTest { .thenReturn(Status.UNAVAILABLE) Mockito.`when`( cleanApkRepository.searchApps( keyword = "com.search.package", by = "package_name" keyword = "com.search.package", by = "package_name" ) ).thenReturn(packageNameSearchResponse) formatterMocked.`when`<String> { Formatter.formatFileSize(any(), any()) }.thenReturn("15MB") Loading Loading @@ -819,7 +797,6 @@ class FusedApiImplTest { @Test fun `getSearchResult When getApplicationDetailsThrowsException`() = runTest { val authData = AuthData("e@e.email", "AtadyMsIAtadyM") val appList = mutableListOf<FusedApp>( FusedApp( _id = "111", Loading @@ -827,15 +804,13 @@ class FusedApiImplTest { name = "Demo One", package_name = "foundation.e.demoone", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "112", status = Status.UNAVAILABLE, name = "Demo Two", package_name = "foundation.e.demotwo", latest_version_code = 123 ), FusedApp( ), FusedApp( _id = "113", status = Status.UNAVAILABLE, name = "Demo Three", Loading @@ -843,6 +818,7 @@ class FusedApiImplTest { latest_version_code = 123 ) ) val searchResult = Search(apps = appList, numberOfResults = 1, success = true) val packageNameSearchResponse = Response.success(searchResult) val gplayPackageResult = App("com.search.package") Loading @@ -851,11 +827,7 @@ class FusedApiImplTest { MutableLiveData(Pair(listOf(App("a.b.c"), App("c.d.e"), App("d.e.f")), false)) setupMockingSearchApp( packageNameSearchResponse, authData, gplayPackageResult, gplayLivedata, true packageNameSearchResponse, authData, gplayPackageResult, gplayLivedata, true ) preferenceManagerModule.isPWASelectedFake = false Loading @@ -864,6 +836,7 @@ class FusedApiImplTest { val searchResultLiveData = fusedAPIImpl.getSearchResults("com.search.package", authData).getOrAwaitValue() val size = searchResultLiveData.data?.first?.size ?: -2 assertEquals("getSearchResult", 3, size) } Loading