mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 05:07:41 +00:00
Add 3 new fields to LaCrosse View (#86356)
* Add BarometricPressure, FeelsLike, and WindChill * Improve test coverage
This commit is contained in:
parent
7d1dec8d31
commit
94c7f7bbb7
@ -17,6 +17,7 @@ from homeassistant.const import (
|
||||
DEGREE,
|
||||
PERCENTAGE,
|
||||
UnitOfPrecipitationDepth,
|
||||
UnitOfPressure,
|
||||
UnitOfSpeed,
|
||||
UnitOfTemperature,
|
||||
)
|
||||
@ -115,6 +116,30 @@ SENSOR_DESCRIPTIONS = {
|
||||
name="Flex",
|
||||
value_fn=get_value,
|
||||
),
|
||||
"BarometricPressure": LaCrosseSensorEntityDescription(
|
||||
key="BarometricPressure",
|
||||
name="Barometric pressure",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value_fn=get_value,
|
||||
device_class=SensorDeviceClass.ATMOSPHERIC_PRESSURE,
|
||||
native_unit_of_measurement=UnitOfPressure.HPA,
|
||||
),
|
||||
"FeelsLike": LaCrosseSensorEntityDescription(
|
||||
key="FeelsLike",
|
||||
name="Feels like",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value_fn=get_value,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
),
|
||||
"WindChill": LaCrosseSensorEntityDescription(
|
||||
key="WindChill",
|
||||
name="Wind chill",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
value_fn=get_value,
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
|
@ -96,3 +96,14 @@ TEST_NO_FIELD_SENSOR = Sensor(
|
||||
permissions={"read": True},
|
||||
model="Test",
|
||||
)
|
||||
TEST_MISSING_FIELD_DATA_SENSOR = Sensor(
|
||||
name="Test",
|
||||
device_id="1",
|
||||
type="Test",
|
||||
sensor_id="2",
|
||||
sensor_field_names=["Temperature"],
|
||||
location=Location(id="1", name="Test"),
|
||||
data={"Temperature": None},
|
||||
permissions={"read": True},
|
||||
model="Test",
|
||||
)
|
||||
|
@ -14,6 +14,7 @@ from . import (
|
||||
TEST_ALREADY_FLOAT_SENSOR,
|
||||
TEST_ALREADY_INT_SENSOR,
|
||||
TEST_FLOAT_SENSOR,
|
||||
TEST_MISSING_FIELD_DATA_SENSOR,
|
||||
TEST_NO_FIELD_SENSOR,
|
||||
TEST_NO_PERMISSION_SENSOR,
|
||||
TEST_SENSOR,
|
||||
@ -131,3 +132,23 @@ async def test_no_field(hass: HomeAssistant, caplog: Any) -> None:
|
||||
assert len(entries) == 1
|
||||
assert entries[0].state == ConfigEntryState.LOADED
|
||||
assert hass.states.get("sensor.test_temperature").state == "unavailable"
|
||||
|
||||
|
||||
async def test_field_data_missing(hass: HomeAssistant) -> None:
|
||||
"""Test behavior when field data is missing."""
|
||||
config_entry = MockConfigEntry(domain=DOMAIN, data=MOCK_ENTRY_DATA)
|
||||
config_entry.add_to_hass(hass)
|
||||
|
||||
with patch("lacrosse_view.LaCrosse.login", return_value=True), patch(
|
||||
"lacrosse_view.LaCrosse.get_sensors",
|
||||
return_value=[TEST_MISSING_FIELD_DATA_SENSOR],
|
||||
):
|
||||
assert await hass.config_entries.async_setup(config_entry.entry_id)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
assert hass.data[DOMAIN]
|
||||
entries = hass.config_entries.async_entries(DOMAIN)
|
||||
assert entries
|
||||
assert len(entries) == 1
|
||||
assert entries[0].state == ConfigEntryState.LOADED
|
||||
assert hass.states.get("sensor.test_temperature").state == "unknown"
|
||||
|
Loading…
x
Reference in New Issue
Block a user