Delete sources from DB and reload items on source deletion.
This commit is contained in:
@ -78,9 +78,9 @@ class SourcesListAdapter(
|
||||
val deleteBtn: Button = mView.findViewById(R.id.deleteBtn)
|
||||
|
||||
deleteBtn.setOnClickListener {
|
||||
val (id) = items[bindingAdapterPosition]
|
||||
val (id, title) = items[bindingAdapterPosition]
|
||||
CoroutineScope(Dispatchers.IO).launch {
|
||||
val successfullyDeletedSource = repository.deleteSource(id)
|
||||
val successfullyDeletedSource = repository.deleteSource(id, title)
|
||||
if (successfullyDeletedSource) {
|
||||
items.removeAt(bindingAdapterPosition)
|
||||
notifyItemRemoved(bindingAdapterPosition)
|
||||
|
@ -58,6 +58,7 @@ class RepositoryTest {
|
||||
data = SelfossModel.Stats(NUMBER_ARTICLES, NUMBER_UNREAD, NUMBER_STARRED)
|
||||
)
|
||||
|
||||
every { db.itemsQueries.deleteItemsWhereSource(any()) } returns Unit
|
||||
every { db.itemsQueries.items().executeAsList() } returns generateTestDBItems()
|
||||
every { db.tagsQueries.deleteAllTags() } returns Unit
|
||||
every { db.tagsQueries.transaction(any(), any()) } returns Unit
|
||||
@ -798,10 +799,11 @@ class RepositoryTest {
|
||||
initializeRepository()
|
||||
var response: Boolean
|
||||
runBlocking {
|
||||
response = repository.deleteSource(5)
|
||||
response = repository.deleteSource(5, "src")
|
||||
}
|
||||
|
||||
coVerify(exactly = 1) { api.deleteSource(5) }
|
||||
coVerify(exactly = 1) { db.itemsQueries.deleteItemsWhereSource("src") }
|
||||
assertSame(true, response)
|
||||
}
|
||||
|
||||
@ -812,10 +814,11 @@ class RepositoryTest {
|
||||
initializeRepository()
|
||||
var response: Boolean
|
||||
runBlocking {
|
||||
response = repository.deleteSource(5)
|
||||
response = repository.deleteSource(5, "src")
|
||||
}
|
||||
|
||||
coVerify(exactly = 1) { api.deleteSource(5) }
|
||||
coVerify(exactly = 0) { db.itemsQueries.deleteItemsWhereSource("src") }
|
||||
assertSame(false, response)
|
||||
}
|
||||
|
||||
@ -826,10 +829,11 @@ class RepositoryTest {
|
||||
initializeRepository(MutableStateFlow(false))
|
||||
var response: Boolean
|
||||
runBlocking {
|
||||
response = repository.deleteSource(5)
|
||||
response = repository.deleteSource(5, "src")
|
||||
}
|
||||
|
||||
coVerify(exactly = 0) { api.deleteSource(5) }
|
||||
coVerify(exactly = 1) { db.itemsQueries.deleteItemsWhereSource("src") }
|
||||
assertSame(false, response)
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user