Coverage Summary for Class: OperationsDomainConfigPolicyKt (cloud.mindbox.mobile_sdk.inapp.data.repositories)

Class Class, % Method, % Branch, % Line, % Instruction, %
OperationsDomainConfigPolicyKt 100% (1/1) 100% (1/1) 92.9% (13/14) 100% (8/8) 98% (48/49)


 package cloud.mindbox.mobile_sdk.inapp.data.repositories
 
 import cloud.mindbox.mobile_sdk.SdkValidation
 
 internal sealed class OperationsDomainConfigPolicyAction {
     data class Save(val value: String) : OperationsDomainConfigPolicyAction()
 
     object Clear : OperationsDomainConfigPolicyAction()
 
     object Keep : OperationsDomainConfigPolicyAction()
 }
 
 internal fun operationsDomainConfigPolicyAction(
     raw: String?,
     currentlyStored: String?,
 ): OperationsDomainConfigPolicyAction {
     val value = raw?.trim()?.takeIf { it.isNotBlank() }
         ?: return if (currentlyStored != null) {
             OperationsDomainConfigPolicyAction.Clear
         } else {
             OperationsDomainConfigPolicyAction.Keep
         }
 
     if (!SdkValidation.isValidDomain(value)) return OperationsDomainConfigPolicyAction.Keep
 
     return if (value == currentlyStored) {
         OperationsDomainConfigPolicyAction.Keep
     } else {
         OperationsDomainConfigPolicyAction.Save(value)
     }
 }