1
0
Fork 0

No issue: add some BookmarkFragmentInteractor tests

master
Grisha Kruglov 2019-08-09 16:46:50 -07:00 committed by Grisha Kruglov
parent f323105163
commit 634ee184a6
2 changed files with 15 additions and 2 deletions

View File

@ -140,10 +140,13 @@ class BookmarkFragmentInteractor(
}
override fun delete(nodes: Set<BookmarkNode>) {
if (nodes.find { it.type == BookmarkNodeType.SEPARATOR } != null) {
throw IllegalStateException("Cannot delete separators")
}
val eventType = when (nodes.singleOrNull()?.type) {
BookmarkNodeType.ITEM -> Event.RemoveBookmark
BookmarkNodeType.ITEM,
BookmarkNodeType.SEPARATOR -> Event.RemoveBookmark
BookmarkNodeType.FOLDER -> Event.RemoveBookmarkFolder
BookmarkNodeType.SEPARATOR -> throw IllegalStateException("Cannot delete separators")
null -> Event.RemoveBookmarks
}
deleteBookmarkNodes(nodes, eventType)

View File

@ -115,6 +115,11 @@ class BookmarkFragmentInteractorTest {
metrics.track(Event.OpenedBookmark)
}
@Test(expected = IllegalStateException::class)
fun `open a separator`() {
interactor.open(item.copy(type = BookmarkNodeType.SEPARATOR))
}
@Test
fun `expand a level of bookmarks`() {
interactor.open(tree)
@ -243,6 +248,11 @@ class BookmarkFragmentInteractorTest {
}
}
@Test(expected = IllegalStateException::class)
fun `delete a separator`() {
interactor.delete(setOf(item, item.copy(type = BookmarkNodeType.SEPARATOR)))
}
@Test
fun `delete a bookmark folder`() {
interactor.delete(setOf(subfolder))