Skip to content

Commit

Permalink
Review corrections
Browse files Browse the repository at this point in the history
  • Loading branch information
gstamatop committed Sep 30, 2024
1 parent b6437d6 commit e88f4b2
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ class DeviceAuthenticationControllerImpl(
private val resourceProvider: ResourceProvider,
private val biometricAuthenticationController: BiometricAuthenticationController
) : DeviceAuthenticationController {

override fun deviceSupportsBiometrics(listener: (BiometricsAvailability) -> Unit) {
biometricAuthenticationController.deviceSupportsBiometrics(listener)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,10 @@ interface DeviceAuthenticationInteractor {
)
}

class DeviceAuthenticationInteractorImpl(private val deviceAuthenticationController: DeviceAuthenticationController) :
DeviceAuthenticationInteractor {
class DeviceAuthenticationInteractorImpl(
private val deviceAuthenticationController: DeviceAuthenticationController,
) : DeviceAuthenticationInteractor {

override fun getBiometricsAvailability(listener: (BiometricsAvailability) -> Unit) {
deviceAuthenticationController.deviceSupportsBiometrics(listener)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import eu.europa.ec.testlogic.extension.runFlowTest
import eu.europa.ec.testlogic.extension.runTest
import eu.europa.ec.testlogic.extension.toFlow
import eu.europa.ec.testlogic.rule.CoroutineTestRule
import junit.framework.TestCase.assertEquals
import org.junit.After
import org.junit.Before
import org.junit.Rule
Expand All @@ -38,7 +39,6 @@ import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever
import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config
import kotlin.test.assertEquals

@RunWith(RobolectricTestRunner::class)
@Config(application = TestApplication::class)
Expand Down Expand Up @@ -76,6 +76,8 @@ class TestBiometricInteractor {
closeable.close()
}

//region isPinValid

// Case: isPinValid behaviour
// When isCurrentPinValid returns QuickPinInteractorPinValidPartialState.Success,
// the expected result of isPinValid is Success
Expand All @@ -94,17 +96,22 @@ class TestBiometricInteractor {
assertEquals(expectedResult, awaitItem())
}
}
//endregion

//region launchBiometricSystemScreen

// Case: launchBiometricSystemScreen behaviour
@Test
fun `When launchBiometricSystemScreen is called, Then verify function is executed on the controller`() =
coroutineRule.runTest {
// When
interactor.launchBiometricSystemScreen()
fun `When launchBiometricSystemScreen is called, Then verify function is executed on the controller`() {
// When
interactor.launchBiometricSystemScreen()

// Then
verify(biometricAuthenticationController).launchBiometricSystemScreen()
}
// Then
verify(biometricAuthenticationController).launchBiometricSystemScreen()
}
//endregion

///region getBiometricUserSelection

// Case: getBiometricUserSelection behaviour
// When getUseBiometricsAuth returns true, the expected result of getBiometricUserSelection
Expand All @@ -121,6 +128,9 @@ class TestBiometricInteractor {
assertEquals(true, result)
verify(biometryStorageController).getUseBiometricsAuth()
}
//endregion

//region storeBiometricsUsageDecision

// Case: storeBiometricsUsageDecision behaviour
@Test
Expand All @@ -134,6 +144,9 @@ class TestBiometricInteractor {
// Then
verify(biometryStorageController).setUseBiometricsAuth(shouldUseBiometrics)
}
//endregion

//region getBiometricsAvailability

// Case: getBiometricsAvailability behaviour
@Test
Expand All @@ -147,6 +160,9 @@ class TestBiometricInteractor {
// Then
verify(biometricAuthenticationController).deviceSupportsBiometrics(mockListener)
}
//endregion

//region authenticateWithBiometrics

// Case: authenticateWithBiometrics behaviour
// Defining a mock BiometricsAuthenticate function callback to verify that authenticate function
Expand All @@ -166,8 +182,9 @@ class TestBiometricInteractor {
// Then
verify(biometricAuthenticationController).authenticate(context, mockListener)
}
//endregion

//region Mocked objects
private val mockedPin = "1234"
//endregion
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ import org.robolectric.annotation.Config
class TestDeviceAuthenticationInteractor {

@Mock
lateinit var mockDeviceAuthenticationController: DeviceAuthenticationController
lateinit var deviceAuthenticationController: DeviceAuthenticationController

@Mock
private lateinit var resultHandler: DeviceAuthenticationResult
Expand All @@ -53,7 +53,7 @@ class TestDeviceAuthenticationInteractor {
fun before() {
closeable = MockitoAnnotations.openMocks(this)
interactor = DeviceAuthenticationInteractorImpl(
deviceAuthenticationController = mockDeviceAuthenticationController
deviceAuthenticationController = deviceAuthenticationController
)

biometricCrypto = BiometricCrypto(cryptoObject = null)
Expand All @@ -76,7 +76,7 @@ class TestDeviceAuthenticationInteractor {
)

// Then
verify(mockDeviceAuthenticationController).deviceSupportsBiometrics(mockListener)
verify(deviceAuthenticationController).deviceSupportsBiometrics(mockListener)
}

// Case: authenticateWithBiometrics behaviour
Expand All @@ -93,7 +93,7 @@ class TestDeviceAuthenticationInteractor {
)

// Then
verify(mockDeviceAuthenticationController).authenticate(
verify(deviceAuthenticationController).authenticate(
context = context,
biometryCrypto = biometricCrypto,
result = resultHandler
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,25 +20,19 @@ import eu.europa.ec.businesslogic.validator.Form
import eu.europa.ec.businesslogic.validator.FormValidationResult
import eu.europa.ec.businesslogic.validator.FormValidator
import eu.europa.ec.businesslogic.validator.FormsValidationResult
import eu.europa.ec.testlogic.base.TestApplication
import eu.europa.ec.testlogic.extension.runTest
import eu.europa.ec.testlogic.rule.CoroutineTestRule
import junit.framework.TestCase.assertEquals
import org.junit.After
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.Mockito.mock
import org.mockito.MockitoAnnotations
import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever
import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config

@RunWith(RobolectricTestRunner::class)
@Config(application = TestApplication::class)
class TestQrScanInteractor {

@get:Rule
Expand Down

0 comments on commit e88f4b2

Please sign in to comment.