mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 12:07:28 +00:00
Test that permission is requested, instead of giving the permission directly.
This commit is contained in:
+10
-4
@@ -173,13 +173,19 @@ class EditUserProfilePresenterTest {
|
||||
val initialState = awaitItem()
|
||||
assertThat(initialState.userAvatarUrl).isEqualTo(userAvatarUri)
|
||||
assertThat(initialState.cameraPermissionState.permissionGranted).isFalse()
|
||||
initialState.eventSink(EditUserProfileEvents.HandleAvatarAction(AvatarAction.TakePhoto))
|
||||
val stateWithAskingPermission = awaitItem()
|
||||
assertThat(stateWithAskingPermission.cameraPermissionState.showDialog).isTrue()
|
||||
fakePermissionsPresenter.setPermissionGranted()
|
||||
val stateWithPermission = awaitItem()
|
||||
assertThat(stateWithPermission.cameraPermissionState.permissionGranted).isTrue()
|
||||
stateWithPermission.eventSink(EditUserProfileEvents.HandleAvatarAction(AvatarAction.TakePhoto))
|
||||
awaitItem().apply {
|
||||
assertThat(userAvatarUrl).isEqualTo(anotherAvatarUri)
|
||||
}
|
||||
val stateWithNewAvatar = awaitItem()
|
||||
assertThat(stateWithNewAvatar.userAvatarUrl).isEqualTo(anotherAvatarUri)
|
||||
// Do it again, no permission is requested
|
||||
fakePickerProvider.givenResult(userAvatarUri)
|
||||
stateWithNewAvatar.eventSink(EditUserProfileEvents.HandleAvatarAction(AvatarAction.TakePhoto))
|
||||
val stateWithNewAvatar2 = awaitItem()
|
||||
assertThat(stateWithNewAvatar2.userAvatarUrl).isEqualTo(userAvatarUri)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user