Adding unit tests for mapper

This commit is contained in:
Maxime NATUREL 2022-10-04 18:00:14 +02:00
parent b23520ea40
commit f02b689ce0
2 changed files with 37 additions and 3 deletions

View File

@ -22,7 +22,6 @@ import javax.inject.Inject
internal class MyDeviceLastSeenInfoEntityMapper @Inject constructor() { internal class MyDeviceLastSeenInfoEntityMapper @Inject constructor() {
// TODO add unit tests
fun map(entity: MyDeviceLastSeenInfoEntity): DeviceInfo { fun map(entity: MyDeviceLastSeenInfoEntity): DeviceInfo {
return DeviceInfo( return DeviceInfo(
deviceId = entity.deviceId, deviceId = entity.deviceId,

View File

@ -25,6 +25,7 @@ private const val A_DEVICE_ID = "device-id"
private const val AN_IP_ADDRESS = "ip-address" private const val AN_IP_ADDRESS = "ip-address"
private const val A_TIMESTAMP = 123L private const val A_TIMESTAMP = 123L
private const val A_DISPLAY_NAME = "display-name" private const val A_DISPLAY_NAME = "display-name"
private const val A_USER_AGENT = "user-agent"
class MyDeviceLastSeenInfoEntityMapperTest { class MyDeviceLastSeenInfoEntityMapperTest {
@ -32,21 +33,55 @@ class MyDeviceLastSeenInfoEntityMapperTest {
@Test @Test
fun `given an entity when mapping to model then all fields are correctly mapped`() { fun `given an entity when mapping to model then all fields are correctly mapped`() {
// Given
val entity = MyDeviceLastSeenInfoEntity( val entity = MyDeviceLastSeenInfoEntity(
deviceId = A_DEVICE_ID, deviceId = A_DEVICE_ID,
lastSeenIp = AN_IP_ADDRESS, lastSeenIp = AN_IP_ADDRESS,
lastSeenTs = A_TIMESTAMP, lastSeenTs = A_TIMESTAMP,
displayName = A_DISPLAY_NAME displayName = A_DISPLAY_NAME,
lastSeenUserAgent = A_USER_AGENT,
) )
val expectedDeviceInfo = DeviceInfo( val expectedDeviceInfo = DeviceInfo(
deviceId = A_DEVICE_ID, deviceId = A_DEVICE_ID,
lastSeenIp = AN_IP_ADDRESS, lastSeenIp = AN_IP_ADDRESS,
lastSeenTs = A_TIMESTAMP, lastSeenTs = A_TIMESTAMP,
displayName = A_DISPLAY_NAME displayName = A_DISPLAY_NAME,
unstableLastSeenUserAgent = A_USER_AGENT,
) )
// When
val deviceInfo = myDeviceLastSeenInfoEntityMapper.map(entity) val deviceInfo = myDeviceLastSeenInfoEntityMapper.map(entity)
// Then
deviceInfo shouldBeEqualTo expectedDeviceInfo deviceInfo shouldBeEqualTo expectedDeviceInfo
} }
@Test
fun `given a device info when mapping to entity then all fields are correctly mapped`() {
// Given
val deviceInfo = DeviceInfo(
deviceId = A_DEVICE_ID,
lastSeenIp = AN_IP_ADDRESS,
lastSeenTs = A_TIMESTAMP,
displayName = A_DISPLAY_NAME,
unstableLastSeenUserAgent = A_USER_AGENT,
)
val expectedEntity = MyDeviceLastSeenInfoEntity(
deviceId = A_DEVICE_ID,
lastSeenIp = AN_IP_ADDRESS,
lastSeenTs = A_TIMESTAMP,
displayName = A_DISPLAY_NAME,
lastSeenUserAgent = A_USER_AGENT
)
// When
val entity = myDeviceLastSeenInfoEntityMapper.map(deviceInfo)
// Then
entity.deviceId shouldBeEqualTo expectedEntity.deviceId
entity.lastSeenIp shouldBeEqualTo expectedEntity.lastSeenIp
entity.lastSeenTs shouldBeEqualTo expectedEntity.lastSeenTs
entity.displayName shouldBeEqualTo expectedEntity.displayName
entity.lastSeenUserAgent shouldBeEqualTo expectedEntity.lastSeenUserAgent
}
} }