feat: render partial sensor readings

This commit is contained in:
2026-08-26 19:32:12 +08:00
parent a30ab9e376
commit 9ba17c7d72
5 changed files with 39 additions and 29 deletions
@@ -129,8 +129,8 @@ class TemperatureHumidityViewModelTest {
assertTrue(state.hasNoData)
assertNull(state.temperature)
assertNull(state.humidity)
assertEquals("--", state.formattedTemperature)
assertEquals("--", state.formattedHumidity)
assertNull(state.formattedTemperature)
assertNull(state.formattedHumidity)
assertFalse(state.hasValidData)
}
@@ -190,4 +190,16 @@ class TemperatureHumidityViewModelTest {
viewModel.onEvent(TemperatureHumidityUiEvent.ClearError)
assertNull(viewModel.state.value.errorMessage)
}
@Test
fun partialReadingKeepsAvailableMetric() = runTest {
fakeGateway.setReading(
TemperatureHumidityReading(profileId, deviceName, temperature = "26.5", humidity = null),
)
val viewModel = TemperatureHumidityViewModel(fakeGateway, SavedStateHandle())
viewModel.onEvent(TemperatureHumidityUiEvent.Initialize(profileId, deviceName))
assertEquals("26.5", viewModel.state.value.temperature)
assertNull(viewModel.state.value.humidity)
}
}