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

Class Method, % Branch, % Line, % Instruction, %
OperationsDomainConfigPolicyAction 100% (1/1) 100% (1/1) 100% (2/2)
OperationsDomainConfigPolicyAction$Clear 100% (1/1) 100% (1/1) 100% (3/3)
OperationsDomainConfigPolicyAction$Keep 100% (1/1) 100% (1/1) 100% (3/3)
OperationsDomainConfigPolicyAction$Save 100% (1/1) 100% (1/1) 100% (8/8)
Total 100% (4/4) 100% (4/4) 100% (16/16)


 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)
     }
 }