fix(infrared): propagate repository storage errors and recover learning keys across effective profiles
This commit is contained in:
+1
-5
@@ -176,11 +176,6 @@ class RelearnInfraredKey(
|
||||
|
||||
is DomainResult.Failure -> return result
|
||||
}
|
||||
if (key.status == InfraredKeyStatus.LEARNING) {
|
||||
return DomainResult.Failure(
|
||||
DomainError.InvalidRequest(detail = "Infrared key is already learning"),
|
||||
)
|
||||
}
|
||||
|
||||
when (
|
||||
val result = repository.transitionStatus(
|
||||
@@ -188,6 +183,7 @@ class RelearnInfraredKey(
|
||||
expectedStatuses = setOf(
|
||||
InfraredKeyStatus.READY,
|
||||
InfraredKeyStatus.FAILED,
|
||||
InfraredKeyStatus.LEARNING,
|
||||
),
|
||||
targetStatus = InfraredKeyStatus.LEARNING,
|
||||
lastErrorCode = null,
|
||||
|
||||
+1
-1
@@ -159,7 +159,7 @@ class LearnInfraredKeyTest {
|
||||
assertEquals(0, repository.insertedKeys.size)
|
||||
assertEquals(2, repository.transitionCalls.size)
|
||||
assertEquals(
|
||||
setOf(InfraredKeyStatus.READY, InfraredKeyStatus.FAILED),
|
||||
setOf(InfraredKeyStatus.READY, InfraredKeyStatus.FAILED, InfraredKeyStatus.LEARNING),
|
||||
repository.transitionCalls.first().expectedStatuses,
|
||||
)
|
||||
assertEquals(
|
||||
|
||||
Reference in New Issue
Block a user