0

Hi all I am getting error java.lang.IllegalStateException: ArgumentMatchers.any() must not be null in kotlin. Below is the my code what I have done. Request you to please check what I have done wrong. It is working in case of java.

@RunWith(MockitoJUnitRunner::class)
class HelpDeskPresenterTest {
    @Mock
    private lateinit var mockAPIManger:APIManger
    @Mock
    private lateinit var applicationData: ApplicationData
    @Mock
    private lateinit var mockInfo:Info
    @Mock
    private lateinit var mockSucessResponse:SuccessResponse
    @Mock
    private lateinit var mockPayResponse:=PayLoadResponse
    @Mock
    private lateinit var mockView: Presenter.View
    @InjectMocks
    private lateinit var presenter:DeskPresenter
    private val name = “Name”

    @Before
    fun setUp() {
        presenter = DeskPresenter(mockAPIManger,applicationData)
        presenter.attachView(mockView, Bundle())
        `when`(mockSucessResponse.payload).thenReturn(mockSucessResponse)
        `when`(applicationData.selectedData).thenReturn(mockInfo)
        `when`(mockInfo.name).thenReturn(name)
    }

    @Test
    fun test_getResponse_when_DeskPresenterAPI_is_success() {
        `when`(
                APIManger.getMapDetails(
                        ArgumentMatchers.anyString(),
                        ArgumentMatchers.any())).then { invocation ->
            val callback: BaseCallback<SuccessResponse> =
                    invocation.getArgument(1) as BaseCallback<SuccessResponse>
            callback.onSuccess(mockSucessResponse)
            callback.onComplete()
        }
        // when
        presenter.getDynamicResponse()
        // then
        verify(mockView, times(1)).showProgressDialog()
        verify(mockView, times(1)).hideProgressDialog()
        verify(mockView, times(1)).fetchMapData(mockPayResponse)
    }

 }
MMG
  • 3,226
  • 5
  • 16
  • 43
Avinash Karn
  • 43
  • 1
  • 7

0 Answers0