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