diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/deckpicker/DeckPickerViewModel.kt b/AnkiDroid/src/main/java/com/ichi2/anki/deckpicker/DeckPickerViewModel.kt index a974ddde1962..0581f8fab06a 100644 --- a/AnkiDroid/src/main/java/com/ichi2/anki/deckpicker/DeckPickerViewModel.kt +++ b/AnkiDroid/src/main/java/com/ichi2/anki/deckpicker/DeckPickerViewModel.kt @@ -460,7 +460,6 @@ class DeckPickerViewModel : } /** Disables the shortcut of the deck and the children belonging to it.*/ - @NeedsTest("ensure collapsed decks are also deleted") fun disableDeckAndChildrenShortcuts(deckId: DeckId) = launchCatchingIO { val deckTreeDids = dueTree?.find(deckId)?.map { it.did.toString() } ?: emptyList() diff --git a/AnkiDroid/src/test/java/com/ichi2/anki/deckpicker/DeckPickerViewModelTest.kt b/AnkiDroid/src/test/java/com/ichi2/anki/deckpicker/DeckPickerViewModelTest.kt index ae5f0ee83bb1..3f4d2dc1afae 100644 --- a/AnkiDroid/src/test/java/com/ichi2/anki/deckpicker/DeckPickerViewModelTest.kt +++ b/AnkiDroid/src/test/java/com/ichi2/anki/deckpicker/DeckPickerViewModelTest.kt @@ -35,6 +35,7 @@ import org.hamcrest.Matchers.equalTo import org.junit.Test import org.junit.runner.RunWith import timber.log.Timber +import kotlin.test.assertEquals /** Test of [DeckPickerViewModel] */ @RunWith(AndroidJUnit4::class) @@ -183,4 +184,28 @@ class DeckPickerViewModelTest : RobolectricTest() { companion object { private const val EXPECTED_CARDS: Int = 3 } + + @Test + fun `ensure collapsed decks are also deleted`() { + runTest { + val deckIdA = addDeck("A") + val subDeckIdA1 = addDeck("A::A1") + val subDeckIdA2 = addDeck("A::A2") + // add other decks as well as control + addDeck("B") + addDeck("B:B1") + viewModel.flowOfDisableShortcuts.test { + viewModel.reloadDeckCounts().join() + viewModel.disableDeckAndChildrenShortcuts(deckIdA) + val actual = awaitItem() + val expected = + listOf( + deckIdA.toString(), + subDeckIdA1.toString(), + subDeckIdA2.toString(), + ) + assertEquals(expected, actual) + } + } + } }