from unittest.mock import patch
from lib.nav import debrid as debrid_navigation
def test_cloud_details_uses_registry_actions_for_realdebrid():
with patch("lib.nav.debrid.addDirectoryItem") as add_directory_item, patch(
"lib.nav.debrid.end_of_directory"
), patch("lib.nav.debrid.build_url", side_effect=lambda action, **kwargs: action), patch(
"lib.nav.debrid.build_list_item",
side_effect=lambda label, *_args, **_kwargs: label,
):
debrid_navigation.cloud_details({"debrid_name": debrid_navigation.DebridType.RD})
assert len(add_directory_item.call_args_list) == 1
assert add_directory_item.call_args_list[0].args[1] == "get_rd_downloads"
def test_cloud_details_uses_registry_actions_for_offcloud():
with patch("lib.nav.debrid.addDirectoryItem") as add_directory_item, patch(
"lib.nav.debrid.end_of_directory"
), patch("lib.nav.debrid.build_url", side_effect=lambda action, **kwargs: action), patch(
"lib.nav.debrid.build_list_item",
side_effect=lambda label, *_args, **_kwargs: label,
):
debrid_navigation.cloud_details({"debrid_name": debrid_navigation.DebridType.OC})
assert len(add_directory_item.call_args_list) == 1
assert add_directory_item.call_args_list[0].args[1] == "get_oc_downloads"
def test_download_notifies_on_unknown_debrid_type():
with patch("lib.nav.debrid.notification") as notify, patch(
"lib.nav.debrid.translation", return_value="Unsupported debrid type"
):
debrid_navigation.download("magnet:?xt=urn:btih:123", "UNKNOWN")
notify.assert_called_once_with("Unsupported debrid type")