mirror of
https://github.com/home-assistant/core.git
synced 2025-04-28 03:07:50 +00:00
Fix updating of statistics metadata name (#77207)
* Fix updating of statistics metadata name * Fix test * Test renaming
This commit is contained in:
parent
b1d249c391
commit
f61edf0778
@ -267,12 +267,14 @@ def _update_or_add_metadata(
|
||||
if (
|
||||
old_metadata["has_mean"] != new_metadata["has_mean"]
|
||||
or old_metadata["has_sum"] != new_metadata["has_sum"]
|
||||
or old_metadata["name"] != new_metadata["name"]
|
||||
or old_metadata["unit_of_measurement"] != new_metadata["unit_of_measurement"]
|
||||
):
|
||||
session.query(StatisticsMeta).filter_by(statistic_id=statistic_id).update(
|
||||
{
|
||||
StatisticsMeta.has_mean: new_metadata["has_mean"],
|
||||
StatisticsMeta.has_sum: new_metadata["has_sum"],
|
||||
StatisticsMeta.name: new_metadata["name"],
|
||||
StatisticsMeta.unit_of_measurement: new_metadata["unit_of_measurement"],
|
||||
},
|
||||
synchronize_session=False,
|
||||
|
@ -161,6 +161,7 @@ def mock_sensor_statistics():
|
||||
"unit_of_measurement": "dogs",
|
||||
"has_mean": True,
|
||||
"has_sum": False,
|
||||
"name": None,
|
||||
},
|
||||
"stat": {"start": start},
|
||||
}
|
||||
@ -599,7 +600,7 @@ async def test_import_statistics(
|
||||
]
|
||||
}
|
||||
|
||||
# Update the previously inserted statistics
|
||||
# Update the previously inserted statistics + rename
|
||||
external_statistics = {
|
||||
"start": period1,
|
||||
"max": 1,
|
||||
@ -609,8 +610,34 @@ async def test_import_statistics(
|
||||
"state": 4,
|
||||
"sum": 5,
|
||||
}
|
||||
external_metadata["name"] = "Total imported energy renamed"
|
||||
import_fn(hass, external_metadata, (external_statistics,))
|
||||
await async_wait_recording_done(hass)
|
||||
statistic_ids = list_statistic_ids(hass)
|
||||
assert statistic_ids == [
|
||||
{
|
||||
"has_mean": False,
|
||||
"has_sum": True,
|
||||
"statistic_id": statistic_id,
|
||||
"name": "Total imported energy renamed",
|
||||
"source": source,
|
||||
"unit_of_measurement": "kWh",
|
||||
}
|
||||
]
|
||||
metadata = get_metadata(hass, statistic_ids=(statistic_id,))
|
||||
assert metadata == {
|
||||
statistic_id: (
|
||||
1,
|
||||
{
|
||||
"has_mean": False,
|
||||
"has_sum": True,
|
||||
"name": "Total imported energy renamed",
|
||||
"source": source,
|
||||
"statistic_id": statistic_id,
|
||||
"unit_of_measurement": "kWh",
|
||||
},
|
||||
)
|
||||
}
|
||||
stats = statistics_during_period(hass, zero, period="hour")
|
||||
assert stats == {
|
||||
statistic_id: [
|
||||
@ -639,6 +666,7 @@ async def test_import_statistics(
|
||||
]
|
||||
}
|
||||
|
||||
# Adjust the statistics
|
||||
await client.send_json(
|
||||
{
|
||||
"id": 1,
|
||||
|
Loading…
x
Reference in New Issue
Block a user