From dd7e4c557694cd7a48dfaae35b086666384e96f7 Mon Sep 17 00:00:00 2001 From: Kyrillos Gaitanis Date: Fri, 29 Sep 2023 14:01:21 +0300 Subject: [PATCH] Adjust test stubs to match previous behavior Previously `anyOrNull()` matcher was used, which covered stubbing the method for all ints. Now it stubs only the method for only the specified `requestCode` which results into method not stubbed when `requestPermissions` is called from `CoperFragment#requestPermissionsAsync`. --- .../java/com/vinted/coper/CoperImplTest.kt | 34 ++++++++++++++++--- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/library/src/test/java/com/vinted/coper/CoperImplTest.kt b/library/src/test/java/com/vinted/coper/CoperImplTest.kt index d7efb7d..07678b1 100644 --- a/library/src/test/java/com/vinted/coper/CoperImplTest.kt +++ b/library/src/test/java/com/vinted/coper/CoperImplTest.kt @@ -744,11 +744,35 @@ class CoperImplTest { fun request_requestCodeIsNotOfCoperFragment_throwException() = runTest { val requestedPermission = "requested_permission" - executePermissionRequest( - permissionsToRequest = listOf(requestedPermission), - permissionResult = listOf(PermissionChecker.PERMISSION_DENIED), - requestCode = 0 - ) + val coperFragment = fixture.getFragmentSafely() + + whenever( + coperFragment.requestPermissions( + listOf(requestedPermission).toTypedArray(), + 0, + ) + ).then { + coperFragment.onRequestPermissionResult( + permissions = listOf(requestedPermission), + permissionsResult = listOf(PermissionChecker.PERMISSION_DENIED), + requestCode = 0, + ) + } + + whenever( + coperFragment.requestPermissions( + listOf(requestedPermission).toTypedArray(), + CoperFragment.REQUEST_CODE + ) + ).then { + coperFragment.onRequestPermissionResult( + permissions = listOf(requestedPermission), + permissionsResult = listOf(PermissionChecker.PERMISSION_DENIED), + requestCode = 0, + ) + } + + fixture.request(*listOf(requestedPermission).toTypedArray()) } private suspend fun executePermissionRequest(