article banner

Exercise: Unit testing using mocks

Implement tests for the class SynchronizeUserUseCase in SynchronizeCardsUseCaseMockTest using mocks.

class CorrectCardsUseCase( private val view: AnkiView, private val cardsRepository: AnkiCardsRepository, ) { suspend fun start() { val progressBar = AnkiProgressBar(size = Small) view.show(progressBar) try { cardsRepository.correctCards() } finally { view.hide(progressBar) } val dialog = AnkiDialog( title = "Success", text = "Cards correction successful", okButton = AnkiDialog.Button("OK"), ) view.show(dialog) } }

Introduce a mocking library of your choice. You can find those classes in the repository MarcinMoskala/kotlin-exercises in the package effective.anki.