From 634ee184a6637dd0e2444a102231f4b396b08af3 Mon Sep 17 00:00:00 2001 From: Grisha Kruglov Date: Fri, 9 Aug 2019 16:46:50 -0700 Subject: [PATCH] No issue: add some BookmarkFragmentInteractor tests --- .../library/bookmarks/BookmarkFragmentInteractor.kt | 7 +++++-- .../bookmarks/BookmarkFragmentInteractorTest.kt | 10 ++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragmentInteractor.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragmentInteractor.kt index 0b6e14c06..3f7c40c42 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragmentInteractor.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragmentInteractor.kt @@ -140,10 +140,13 @@ class BookmarkFragmentInteractor( } override fun delete(nodes: Set) { + 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) diff --git a/app/src/test/java/org/mozilla/fenix/library/bookmarks/BookmarkFragmentInteractorTest.kt b/app/src/test/java/org/mozilla/fenix/library/bookmarks/BookmarkFragmentInteractorTest.kt index 00ec827c0..ca5b3da57 100644 --- a/app/src/test/java/org/mozilla/fenix/library/bookmarks/BookmarkFragmentInteractorTest.kt +++ b/app/src/test/java/org/mozilla/fenix/library/bookmarks/BookmarkFragmentInteractorTest.kt @@ -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))