mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-22 03:54:18 -04:00
Fixed the ZimManageViewModelTest.
This commit is contained in:
parent
318ae98d31
commit
476733bf91
@ -129,6 +129,7 @@ class ZimManageViewModel @Inject constructor(
|
|||||||
object UserClickedDownloadBooksButton : FileSelectActions()
|
object UserClickedDownloadBooksButton : FileSelectActions()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private var isUnitTestCase: Boolean = false
|
||||||
val sideEffects = PublishProcessor.create<SideEffect<Any?>>()
|
val sideEffects = PublishProcessor.create<SideEffect<Any?>>()
|
||||||
val libraryItems: MutableLiveData<List<LibraryListItem>> = MutableLiveData()
|
val libraryItems: MutableLiveData<List<LibraryListItem>> = MutableLiveData()
|
||||||
val fileSelectListStates: MutableLiveData<FileSelectListState> = MutableLiveData()
|
val fileSelectListStates: MutableLiveData<FileSelectListState> = MutableLiveData()
|
||||||
@ -150,7 +151,12 @@ class ZimManageViewModel @Inject constructor(
|
|||||||
context.registerReceiver(connectivityBroadcastReceiver)
|
context.registerReceiver(connectivityBroadcastReceiver)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun setIsUnitTestCase() {
|
||||||
|
isUnitTestCase = true
|
||||||
|
}
|
||||||
|
|
||||||
private fun createKiwixServiceWithProgressListener(): KiwixService {
|
private fun createKiwixServiceWithProgressListener(): KiwixService {
|
||||||
|
if (isUnitTestCase) return kiwixService
|
||||||
val contentLength = getContentLengthOfLibraryXmlFile()
|
val contentLength = getContentLengthOfLibraryXmlFile()
|
||||||
val customOkHttpClient = OkHttpClient().newBuilder()
|
val customOkHttpClient = OkHttpClient().newBuilder()
|
||||||
.followRedirects(true)
|
.followRedirects(true)
|
||||||
@ -178,6 +184,9 @@ class ZimManageViewModel @Inject constructor(
|
|||||||
}
|
}
|
||||||
.build()
|
.build()
|
||||||
return KiwixService.ServiceCreator.newHackListService(customOkHttpClient, KIWIX_DOWNLOAD_URL)
|
return KiwixService.ServiceCreator.newHackListService(customOkHttpClient, KIWIX_DOWNLOAD_URL)
|
||||||
|
.also {
|
||||||
|
kiwixService = it
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getContentLengthOfLibraryXmlFile(): Long {
|
private fun getContentLengthOfLibraryXmlFile(): Long {
|
||||||
@ -327,7 +336,12 @@ class ZimManageViewModel @Inject constructor(
|
|||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
.observeOn(Schedulers.io())
|
.observeOn(Schedulers.io())
|
||||||
.concatMap {
|
.concatMap {
|
||||||
createKiwixServiceWithProgressListener().library
|
Flowable.fromCallable {
|
||||||
|
synchronized(this, ::createKiwixServiceWithProgressListener)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.concatMap {
|
||||||
|
kiwixService.library
|
||||||
.toFlowable()
|
.toFlowable()
|
||||||
.retry(5)
|
.retry(5)
|
||||||
.doOnSubscribe {
|
.doOnSubscribe {
|
||||||
@ -347,7 +361,9 @@ class ZimManageViewModel @Inject constructor(
|
|||||||
LibraryNetworkEntity().apply { book = LinkedList() }
|
LibraryNetworkEntity().apply { book = LinkedList() }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.subscribe(library::onNext, Throwable::printStackTrace)
|
.subscribe(library::onNext, Throwable::printStackTrace).also {
|
||||||
|
compositeDisposable?.add(it)
|
||||||
|
}
|
||||||
|
|
||||||
private fun updateNetworkStates() =
|
private fun updateNetworkStates() =
|
||||||
connectivityBroadcastReceiver.networkStates.subscribe(
|
connectivityBroadcastReceiver.networkStates.subscribe(
|
||||||
|
@ -157,7 +157,7 @@ class ZimManageViewModelTest {
|
|||||||
dataSource,
|
dataSource,
|
||||||
connectivityManager,
|
connectivityManager,
|
||||||
sharedPreferenceUtil
|
sharedPreferenceUtil
|
||||||
)
|
).apply(ZimManageViewModel::setIsUnitTestCase)
|
||||||
testScheduler.triggerActions()
|
testScheduler.triggerActions()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -333,6 +333,7 @@ class ZimManageViewModelTest {
|
|||||||
defaultLanguage: Language
|
defaultLanguage: Language
|
||||||
) {
|
) {
|
||||||
every { application.getString(any()) } returns ""
|
every { application.getString(any()) } returns ""
|
||||||
|
every { application.getString(any(), any()) } returns ""
|
||||||
every { kiwixService.library } returns Single.just(
|
every { kiwixService.library } returns Single.just(
|
||||||
libraryNetworkEntity(networkBooks)
|
libraryNetworkEntity(networkBooks)
|
||||||
)
|
)
|
||||||
@ -372,6 +373,8 @@ class ZimManageViewModelTest {
|
|||||||
language = "inactiveLanguage",
|
language = "inactiveLanguage",
|
||||||
url = ""
|
url = ""
|
||||||
)
|
)
|
||||||
|
every { application.getString(any()) } returns ""
|
||||||
|
every { application.getString(any(), any()) } returns ""
|
||||||
every { kiwixService.library } returns Single.just(
|
every { kiwixService.library } returns Single.just(
|
||||||
libraryNetworkEntity(
|
libraryNetworkEntity(
|
||||||
listOf(
|
listOf(
|
||||||
@ -412,6 +415,8 @@ class ZimManageViewModelTest {
|
|||||||
url = "",
|
url = "",
|
||||||
size = "${Fat32Checker.FOUR_GIGABYTES_IN_KILOBYTES + 1}"
|
size = "${Fat32Checker.FOUR_GIGABYTES_IN_KILOBYTES + 1}"
|
||||||
)
|
)
|
||||||
|
every { application.getString(any()) } returns ""
|
||||||
|
every { application.getString(any(), any()) } returns ""
|
||||||
every { kiwixService.library } returns Single.just(
|
every { kiwixService.library } returns Single.just(
|
||||||
libraryNetworkEntity(
|
libraryNetworkEntity(
|
||||||
listOf(bookOver4Gb)
|
listOf(bookOver4Gb)
|
||||||
|
@ -288,7 +288,7 @@ class SharedPreferenceUtil @Inject constructor(val context: Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun getPublicDirectoryPath(path: String): String =
|
fun getPublicDirectoryPath(path: String): String =
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
||||||
path
|
path
|
||||||
} else {
|
} else {
|
||||||
path.substringBefore(context.getString(R.string.android_directory_seperator))
|
path.substringBefore(context.getString(R.string.android_directory_seperator))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user