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