Skip to content

Commit

Permalink
Merge pull request #229 from hieuwu/feature/test-submit-order-usecase
Browse files Browse the repository at this point in the history
Cover unit test for submit order
  • Loading branch information
hieuwu committed Oct 31, 2023
2 parents ba50323 + 56c288b commit f2316d1
Showing 1 changed file with 51 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package com.hieuwu.groceriesstore.domain.usecases.impl

import com.hieuwu.groceriesstore.data.repository.OrderRepository
import com.hieuwu.groceriesstore.domain.models.OrderModel
import com.hieuwu.groceriesstore.domain.usecases.SubmitOrderUseCase
import kotlinx.coroutines.runBlocking
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.junit.MockitoJUnitRunner
import org.mockito.kotlin.any
import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever

@RunWith(MockitoJUnitRunner::class)
class SubmitOrderUseCaseImplTest {

@Mock
lateinit var mockedOrderRepository: OrderRepository

private lateinit var testee: SubmitOrderUseCase

@Before
fun setUp() {
testee = SubmitOrderUseCaseImpl(
orderRepository = mockedOrderRepository
)
}

@Test
fun whenExecute_thenSubmitOrderSuccessfully() {
runBlocking {
whenever(mockedOrderRepository.sendOrderToServer(any())).thenReturn(true)
testee.execute(
SubmitOrderUseCase.Input(
order = OrderModel(
lineItemList = mutableListOf()
)
)
)

verify(mockedOrderRepository).sendOrderToServer(
OrderModel(
lineItemList = mutableListOf()
)
)
}
}

}

0 comments on commit f2316d1

Please sign in to comment.