@@ -65,6 +65,7 @@ import com.amplifyframework.auth.cognito.options.AWSCognitoAuthUpdateUserAttribu
65
65
import com.amplifyframework.auth.cognito.options.AWSCognitoAuthUpdateUserAttributesOptions
66
66
import com.amplifyframework.auth.cognito.options.AWSCognitoAuthVerifyTOTPSetupOptions
67
67
import com.amplifyframework.auth.cognito.options.AuthFlowType
68
+ import com.amplifyframework.auth.cognito.usecases.ResetPasswordUseCase
68
69
import com.amplifyframework.auth.exceptions.InvalidStateException
69
70
import com.amplifyframework.auth.exceptions.SignedOutException
70
71
import com.amplifyframework.auth.options.AuthConfirmResetPasswordOptions
@@ -95,11 +96,13 @@ import com.amplifyframework.statemachine.codegen.states.AuthenticationState
95
96
import com.amplifyframework.statemachine.codegen.states.AuthorizationState
96
97
import featureTest.utilities.APICaptorFactory.Companion.onError
97
98
import io.mockk.coEvery
99
+ import io.mockk.coJustRun
98
100
import io.mockk.coVerify
99
101
import io.mockk.every
100
102
import io.mockk.invoke
101
103
import io.mockk.justRun
102
104
import io.mockk.mockk
105
+ import io.mockk.mockkConstructor
103
106
import io.mockk.mockkObject
104
107
import io.mockk.mockkStatic
105
108
import io.mockk.slot
@@ -407,6 +410,47 @@ class RealAWSCognitoAuthPluginTest {
407
410
verify(exactly = 0 ) { onSuccess.accept(any()) }
408
411
assertEquals(expectedAuthError.toString(), errorCaptor.captured.toString())
409
412
}
413
+ @Test
414
+ fun `reset password executes ResetPasswordUseCase if required params are set` () {
415
+ // GIVEN
416
+ val onSuccess = mockk<Consumer <AuthResetPasswordResult >>()
417
+ val onError = mockk<Consumer <AuthException >>()
418
+ val options = mockk<AuthResetPasswordOptions >()
419
+ val username = " user"
420
+ val pinpointAppId = " abc"
421
+ val encodedData = " encodedData"
422
+
423
+ coEvery {
424
+ authEnvironment.getUserContextData(username)
425
+ } returns encodedData
426
+
427
+ every {
428
+ authEnvironment.getPinpointEndpointId()
429
+ } returns pinpointAppId
430
+
431
+ mockkConstructor(ResetPasswordUseCase ::class )
432
+
433
+ every { authService.cognitoIdentityProviderClient } returns mockk()
434
+ every { authConfiguration.userPool } returns UserPoolConfiguration .invoke { appClientId = " app Client Id" }
435
+ coJustRun {
436
+ anyConstructed<ResetPasswordUseCase >().execute(
437
+ username,
438
+ options,
439
+ encodedData,
440
+ pinpointAppId,
441
+ onSuccess,
442
+ onError
443
+ )
444
+ }
445
+
446
+ // WHEN
447
+ plugin.resetPassword(username, options, onSuccess, onError)
448
+
449
+ // THEN
450
+ coVerify {
451
+ anyConstructed<ResetPasswordUseCase >().execute(username, options, any(), pinpointAppId, onSuccess, onError)
452
+ }
453
+ }
410
454
411
455
@Test
412
456
fun `fetch user attributes with success` () {
0 commit comments