diff --git a/homeassistant/components/zwave_js/addon.py b/homeassistant/components/zwave_js/addon.py index b8d020cfb00..818e46a34aa 100644 --- a/homeassistant/components/zwave_js/addon.py +++ b/homeassistant/components/zwave_js/addon.py @@ -173,6 +173,7 @@ class AddonManager: if not update_available: return + await self.async_create_snapshot() await async_update_addon(self._hass, ADDON_SLUG) @callback @@ -184,7 +185,6 @@ class AddonManager: if not self._update_task or self._update_task.done(): LOGGER.info("Trying to update the Z-Wave JS add-on") self._update_task = self._async_schedule_addon_operation( - self.async_create_snapshot, self.async_update_addon, catch_error=catch_error, ) diff --git a/tests/components/zwave_js/test_init.py b/tests/components/zwave_js/test_init.py index cd2017f2c66..e56db58f3cc 100644 --- a/tests/components/zwave_js/test_init.py +++ b/tests/components/zwave_js/test_init.py @@ -585,11 +585,13 @@ async def test_addon_info_failure( @pytest.mark.parametrize( - "addon_version, update_available, update_calls, update_addon_side_effect", + "addon_version, update_available, update_calls, snapshot_calls, " + "update_addon_side_effect, create_shapshot_side_effect", [ - ("1.0", True, 1, None), - ("1.0", False, 0, None), - ("1.0", True, 1, HassioAPIError("Boom")), + ("1.0", True, 1, 1, None, None), + ("1.0", False, 0, 0, None, None), + ("1.0", True, 1, 1, HassioAPIError("Boom"), None), + ("1.0", True, 0, 1, None, HassioAPIError("Boom")), ], ) async def test_update_addon( @@ -604,11 +606,14 @@ async def test_update_addon( addon_version, update_available, update_calls, + snapshot_calls, update_addon_side_effect, + create_shapshot_side_effect, ): """Test update the Z-Wave JS add-on during entry setup.""" addon_info.return_value["version"] = addon_version addon_info.return_value["update_available"] = update_available + create_shapshot.side_effect = create_shapshot_side_effect update_addon.side_effect = update_addon_side_effect client.connect.side_effect = InvalidServerVersion("Invalid version") device = "/test" @@ -630,12 +635,7 @@ async def test_update_addon( await hass.async_block_till_done() assert entry.state == ENTRY_STATE_SETUP_RETRY - assert create_shapshot.call_count == 1 - assert create_shapshot.call_args == call( - hass, - {"name": f"addon_core_zwave_js_{addon_version}", "addons": ["core_zwave_js"]}, - partial=True, - ) + assert create_shapshot.call_count == snapshot_calls assert update_addon.call_count == update_calls