Writing the assertions

We assert for the response status, the response message, and the location header:

assertTrue(mockResponse.status == 201)
assertTrue(mockResponse.entity.toString() == Constants.IDENTITY_CREATED)
assertNotNull(mockResponse.metadata["location"])

The unit test appears as follows:

@RunWith(MockitoJUnitRunner::class)
class CreatePersonTest {
@InjectMocks
private lateiit var controller: PersonController

@Mock
private lateinit var serviceImpl: PersonServiceImpl

private var builder = mock(Response.ResponseBuilder::class.java)

@Test
fun createPersonTest() {
val createPersonRequest = mock(Person::class.java)
createPersonRequest.name = "test user"
createPersonRequest.loginId = "[email protected]"
createPersonRequest.orgId = "123"
val uuid = UUID.randomUUID().toString()

val response = TestUtil.getResponseForIdentityCreation(uuid)

`when`(serviceImpl.createPerson(createPersonRequest))
.thenReturn(uuid)
`when`(builder.build())
.thenReturn(response)

controller.createPerson(createPersonRequest)

assertTrue(response.status == 201)
assertTrue(response.entity.toString() == Constants.IDENTITY_CREATED)
assertNotNull(response.metadata["location"])
}
}

Let's run this unit test:

As we can see, this unit test case has executed successfully.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset