Fix vizio bug to use 'get' to get volume_step since it is optional (#32151)
* use get to get volume_step since it is optional * always set volume_step to default in options and data if its not includedpull/32157/head
parent
90859b82e2
commit
309989be89
|
@ -180,8 +180,11 @@ class VizioConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||
if entry.data[CONF_NAME] != import_config[CONF_NAME]:
|
||||
updated_name[CONF_NAME] = import_config[CONF_NAME]
|
||||
|
||||
if entry.data[CONF_VOLUME_STEP] != import_config[CONF_VOLUME_STEP]:
|
||||
updated_options[CONF_VOLUME_STEP] = import_config[CONF_VOLUME_STEP]
|
||||
import_volume_step = import_config.get(
|
||||
CONF_VOLUME_STEP, DEFAULT_VOLUME_STEP
|
||||
)
|
||||
if entry.data.get(CONF_VOLUME_STEP) != import_volume_step:
|
||||
updated_options[CONF_VOLUME_STEP] = import_volume_step
|
||||
|
||||
if updated_options or updated_name:
|
||||
new_data = entry.data.copy()
|
||||
|
|
|
@ -300,15 +300,15 @@ async def test_import_flow_update_options(
|
|||
result = await hass.config_entries.flow.async_init(
|
||||
DOMAIN,
|
||||
context={"source": SOURCE_IMPORT},
|
||||
data=vol.Schema(VIZIO_SCHEMA)(MOCK_IMPORT_VALID_TV_CONFIG),
|
||||
data=vol.Schema(VIZIO_SCHEMA)(MOCK_SPEAKER_CONFIG),
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
assert result["result"].options == {CONF_VOLUME_STEP: VOLUME_STEP}
|
||||
assert result["result"].options == {CONF_VOLUME_STEP: DEFAULT_VOLUME_STEP}
|
||||
assert result["type"] == data_entry_flow.RESULT_TYPE_CREATE_ENTRY
|
||||
entry_id = result["result"].entry_id
|
||||
|
||||
updated_config = MOCK_IMPORT_VALID_TV_CONFIG.copy()
|
||||
updated_config = MOCK_SPEAKER_CONFIG.copy()
|
||||
updated_config[CONF_VOLUME_STEP] = VOLUME_STEP + 1
|
||||
result = await hass.config_entries.flow.async_init(
|
||||
DOMAIN,
|
||||
|
|
Loading…
Reference in New Issue