juliocbcotta
03/28/2023, 2:35 PMJacob
03/28/2023, 2:55 PMjuliocbcotta
03/28/2023, 2:55 PMMattia Tommasone
03/28/2023, 2:59 PMjuliocbcotta
03/28/2023, 2:59 PMMattia Tommasone
03/28/2023, 3:00 PMThierry Merven
03/28/2023, 6:17 PMjuliocbcotta
03/30/2023, 9:30 AMcom.veepee.promotions.presentation.PromotionViewModelTest > promo code not valid FAILED
io.mockk.MockKException at PromotionViewModelTest.kt:173
Caused by: io.mockk.proxy.MockKAgentException at PromotionViewModelTest.kt:173
The test file doesn't have 173 lines 😭 and this is the test method... It doesn't seems to be very well written, but I don't understand how that exception happens
@Test
fun `promo code not valid`() {
every { applyPromoCodeUseCase.applyPromoCode(any()) } returns Observable.just(
Either.Failure(
PromotionException.PromoCodeNotValid
)
)
val observer = mockk<Observer<PromotionViewState>>()
val slot = slot<PromotionViewState>()
val list = arrayListOf<PromotionViewState>()
promotionViewModel.viewState.observeForever(observer)
every { observer.onChanged(capture(slot)) } answers {
list.add(slot.captured)
}
promotionViewModel.applyPromoCode("notValidCode")
assertEquals(list[0], PromotionViewState.Loading)
assertEquals(list[1], PromotionViewState.ErrorNotValidPromoCode(emptyList()))
promotionViewModel.viewState.removeObserver(observer)
}
Any ideas?