Coverage Summary for Class: PushPermissionInAppAction (cloud.mindbox.mobile_sdk.inapp.presentation.actions)

Class Method, % Branch, % Line, % Instruction, %
PushPermissionInAppAction 100% (3/3) 100% (9/9) 100% (24/24)
PushPermissionInAppAction$execute$1 0% (0/1) 0% (0/2) 0% (0/1) 0% (0/7)
Total 75% (3/4) 0% (0/2) 90% (9/10) 77.4% (24/31)


 package cloud.mindbox.mobile_sdk.inapp.presentation.actions
 
 import cloud.mindbox.mobile_sdk.inapp.presentation.MindboxView
 import cloud.mindbox.mobile_sdk.logger.mindboxLogI
 
 internal interface InAppAction {
     fun execute(mindboxView: MindboxView?): InAppActionResult
 }
 
 internal class RedirectUrlInAppAction(val url: String, val payload: String) : InAppAction {
     override fun execute(mindboxView: MindboxView?): InAppActionResult {
         return InAppActionResult(
             redirectUrl = url,
             payload = payload,
             shouldDismiss = shouldDismiss()
         )
     }
 
     private fun shouldDismiss(): Boolean {
         return url.isNotBlank() || payload.isNotBlank()
     }
 }
 
 internal class PushPermissionInAppAction(
     val payload: String
 ) : InAppAction {
 
     override fun execute(mindboxView: MindboxView?): InAppActionResult {
         mindboxLogI("In-app for push activation was clicked")
         return InAppActionResult(
             redirectUrl = "",
             payload = payload,
             shouldDismiss = shouldDismiss(),
             onCompleted = { mindboxView?.requestPermission() }
         )
     }
 
     private fun shouldDismiss(): Boolean {
         return true
     }
 }