mirror of
https://github.com/home-assistant/core.git
synced 2025-05-01 04:37:52 +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 (
|
if (
|
||||||
old_metadata["has_mean"] != new_metadata["has_mean"]
|
old_metadata["has_mean"] != new_metadata["has_mean"]
|
||||||
or old_metadata["has_sum"] != new_metadata["has_sum"]
|
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"]
|
or old_metadata["unit_of_measurement"] != new_metadata["unit_of_measurement"]
|
||||||
):
|
):
|
||||||
session.query(StatisticsMeta).filter_by(statistic_id=statistic_id).update(
|
session.query(StatisticsMeta).filter_by(statistic_id=statistic_id).update(
|
||||||
{
|
{
|
||||||
StatisticsMeta.has_mean: new_metadata["has_mean"],
|
StatisticsMeta.has_mean: new_metadata["has_mean"],
|
||||||
StatisticsMeta.has_sum: new_metadata["has_sum"],
|
StatisticsMeta.has_sum: new_metadata["has_sum"],
|
||||||
|
StatisticsMeta.name: new_metadata["name"],
|
||||||
StatisticsMeta.unit_of_measurement: new_metadata["unit_of_measurement"],
|
StatisticsMeta.unit_of_measurement: new_metadata["unit_of_measurement"],
|
||||||
},
|
},
|
||||||
synchronize_session=False,
|
synchronize_session=False,
|
||||||
|
@ -161,6 +161,7 @@ def mock_sensor_statistics():
|
|||||||
"unit_of_measurement": "dogs",
|
"unit_of_measurement": "dogs",
|
||||||
"has_mean": True,
|
"has_mean": True,
|
||||||
"has_sum": False,
|
"has_sum": False,
|
||||||
|
"name": None,
|
||||||
},
|
},
|
||||||
"stat": {"start": start},
|
"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 = {
|
external_statistics = {
|
||||||
"start": period1,
|
"start": period1,
|
||||||
"max": 1,
|
"max": 1,
|
||||||
@ -609,8 +610,34 @@ async def test_import_statistics(
|
|||||||
"state": 4,
|
"state": 4,
|
||||||
"sum": 5,
|
"sum": 5,
|
||||||
}
|
}
|
||||||
|
external_metadata["name"] = "Total imported energy renamed"
|
||||||
import_fn(hass, external_metadata, (external_statistics,))
|
import_fn(hass, external_metadata, (external_statistics,))
|
||||||
await async_wait_recording_done(hass)
|
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")
|
stats = statistics_during_period(hass, zero, period="hour")
|
||||||
assert stats == {
|
assert stats == {
|
||||||
statistic_id: [
|
statistic_id: [
|
||||||
@ -639,6 +666,7 @@ async def test_import_statistics(
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Adjust the statistics
|
||||||
await client.send_json(
|
await client.send_json(
|
||||||
{
|
{
|
||||||
"id": 1,
|
"id": 1,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user