async def test_play_media_invalid_type(hass, samsung_mock): """Test for play_media with invalid media type.""" url = "https://example.com" device = SamsungTVDevice(**WORKING_CONFIG) device.send_key = mock.Mock() await device.async_play_media(MEDIA_TYPE_URL, url) assert device.send_key.call_count == 0
async def test_play_media_channel_as_string(hass, samsung_mock): """Test for play_media with invalid channel as string.""" url = "https://example.com" device = SamsungTVDevice(**WORKING_CONFIG) device.send_key = mock.Mock() await device.async_play_media(MEDIA_TYPE_CHANNEL, url) assert device.send_key.call_count == 0
def setUp(self, samsung_mock, wol_mock): """Set up test environment.""" self.hass = tests.common.get_test_home_assistant() self.hass.start() self.hass.block_till_done() self.device = SamsungTVDevice(**WORKING_CONFIG) self.device._exceptions_class = mock.Mock() self.device._exceptions_class.UnhandledResponse = UnhandledResponse self.device._exceptions_class.AccessDenied = AccessDenied self.device._exceptions_class.ConnectionClosed = ConnectionClosed
async def test_play_media(hass, samsung_mock): """Test for play_media.""" asyncio_sleep = asyncio.sleep sleeps = [] async def sleep(duration, loop): sleeps.append(duration) await asyncio_sleep(0, loop=loop) with patch('asyncio.sleep', new=sleep): device = SamsungTVDevice(**WORKING_CONFIG) device.hass = hass device.send_key = mock.Mock() await device.async_play_media(MEDIA_TYPE_CHANNEL, "576") exp = [call("KEY_5"), call("KEY_7"), call("KEY_6")] assert device.send_key.call_args_list == exp assert len(sleeps) == 3
async def test_play_media_channel_as_non_positive(hass, samsung_mock): """Test for play_media with invalid channel as non positive integer.""" device = SamsungTVDevice(**WORKING_CONFIG) device.send_key = mock.Mock() await device.async_play_media(MEDIA_TYPE_CHANNEL, "-4") assert device.send_key.call_count == 0