diff --git a/homeassistant/components/vizio/media_player.py b/homeassistant/components/vizio/media_player.py index a46a4c9a2d123080ab0f4b3708fba3c4dffe6dd1..d97a82ca144f44a15561da0fb688b9870a166e0e 100644 --- a/homeassistant/components/vizio/media_player.py +++ b/homeassistant/components/vizio/media_player.py @@ -335,7 +335,11 @@ class VizioDevice(MediaPlayerDevice): if _input not in INPUT_APPS ], *self._available_apps, - *self._get_additional_app_names(), + *[ + app + for app in self._get_additional_app_names() + if app not in self._available_apps + ], ] return self._available_inputs diff --git a/tests/components/vizio/const.py b/tests/components/vizio/const.py index 2cb9103c4d9a4a7dc285770ed16a21f7e50a0f4a..25abd01d53bea780e1e2d5a3985c637d3c90d8cd 100644 --- a/tests/components/vizio/const.py +++ b/tests/components/vizio/const.py @@ -70,10 +70,9 @@ INPUT_LIST = ["HDMI", "USB", "Bluetooth", "AUX"] CURRENT_APP = "Hulu" APP_LIST = ["Hulu", "Netflix"] INPUT_LIST_WITH_APPS = INPUT_LIST + ["CAST"] -CUSTOM_APP_NAME = "APP3" CUSTOM_CONFIG = {CONF_APP_ID: "test", CONF_MESSAGE: None, CONF_NAME_SPACE: 10} ADDITIONAL_APP_CONFIG = { - "name": CUSTOM_APP_NAME, + "name": CURRENT_APP, CONF_CONFIG: CUSTOM_CONFIG, } diff --git a/tests/components/vizio/test_media_player.py b/tests/components/vizio/test_media_player.py index 68366e8e98b40d9f33d35251b6caa838f81eb53b..ebeef1661ed1d26fc87d5aa6ec446e9b95fe4049 100644 --- a/tests/components/vizio/test_media_player.py +++ b/tests/components/vizio/test_media_player.py @@ -58,7 +58,6 @@ from .const import ( APP_LIST, CURRENT_APP, CURRENT_INPUT, - CUSTOM_APP_NAME, CUSTOM_CONFIG, ENTITY_ID, INPUT_LIST, @@ -180,11 +179,15 @@ async def _test_setup_with_apps( + [ app["name"] for app in device_config[CONF_APPS][CONF_ADDITIONAL_CONFIGS] + if app["name"] not in APP_LIST ] ) else: list_to_test = list(INPUT_LIST_WITH_APPS + APP_LIST) + if CONF_ADDITIONAL_CONFIGS in device_config.get(CONF_APPS, {}): + assert attr["source_list"].count(CURRENT_APP) == 1 + for app_to_remove in INPUT_APPS: if app_to_remove in list_to_test: list_to_test.remove(app_to_remove) @@ -471,14 +474,14 @@ async def test_setup_with_apps_additional_apps_config( hass, "launch_app", SERVICE_SELECT_SOURCE, - {ATTR_INPUT_SOURCE: CURRENT_APP}, - CURRENT_APP, + {ATTR_INPUT_SOURCE: "Netflix"}, + "Netflix", ) await _test_service( hass, "launch_app_config", SERVICE_SELECT_SOURCE, - {ATTR_INPUT_SOURCE: CUSTOM_APP_NAME}, + {ATTR_INPUT_SOURCE: CURRENT_APP}, **CUSTOM_CONFIG, )