def test_addFolderListItem_should_call_xbmcplugin_addDirectoryItem_correctly(self): sys.argv = ["some_path", -1, "some_params"] navigation = BlipTVNavigation() navigation.addFolderContextMenuItems = Mock() navigation.addFolderContextMenuItems.return_value = [] navigation.addFolderListItem({}, {"feed": "downloads", "Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"}) sys.modules["__main__"].settings.getSetting.assert_called_with("downloadPath")
def test_addFolderListItem_should_call_utils_get_thumbnail_to_get_thumbnail_path(self): sys.argv = ["some_path", -1, "some_params"] navigation = BlipTVNavigation() navigation.addFolderContextMenuItems = Mock() navigation.addFolderContextMenuItems.return_value = [] navigation.addFolderListItem({}, {"action": "some_action", "icon": "some_icon", "thumbnail": "some_thumbnail"}) sys.modules["__main__"].utils.getThumbnail.assert_called_with("some_thumbnail")
def test_addFolderListItem_should_call_listitem_setProperty_to_inidicate_item_is_a_folder(self): sys.argv = ["some_path", -1, "some_params"] navigation = BlipTVNavigation() navigation.addFolderContextMenuItems = Mock() navigation.addFolderContextMenuItems.return_value = [] navigation.addFolderListItem({}, {"action": "some_action", "Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"}) sys.modules["__main__"].xbmcgui.ListItem().setProperty.assert_called_with('Folder', 'true')
def test_addFolderListItem_should_call_addFolderContextMenuItems_to_get_context_menu_items(self): sys.argv = ["some_path", -1, "some_params"] navigation = BlipTVNavigation() navigation.addFolderContextMenuItems = Mock() navigation.addFolderContextMenuItems.return_value = [] navigation.addFolderListItem({}, {"action": "some_action", "icon": "some_icon"}) navigation.addFolderContextMenuItems.assert_called_with({}, {"action": "some_action", "icon": "some_icon"})
def test_addFolderListItem_should_call_listitem_addContextMenuItems_to_add_context_menu(self): sys.argv = ["some_path", -1, "some_params"] sys.modules["__main__"].utils.getThumbnail.return_value = "some_image_path" navigation = BlipTVNavigation() navigation.addFolderContextMenuItems = Mock() navigation.addFolderContextMenuItems.return_value = [1, 2] navigation.addFolderListItem({}, {"action": "some_action", "Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"}) sys.modules["__main__"].xbmcgui.ListItem().addContextMenuItems.assert_called_with([1, 2], replaceItems=False)
def test_addFolderListItem_should_call_utils_buildItemUrl_to_get_proper_item_url(self): sys.argv = ["some_path", -1, "some_params"] sys.modules["__main__"].utils.getThumbnail.return_value = "some_image_path" navigation = BlipTVNavigation() navigation.addFolderContextMenuItems = Mock() navigation.addFolderContextMenuItems.return_value = [] navigation.addFolderListItem({}, {"action": "some_action", "Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"}) sys.modules["__main__"].utils.buildItemUrl({"action": "some_action", "Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"})
def test_addFolderListItem_should_call_xbmcgui_ListItem_to_fetch_xbmc_listitem_object(self): sys.argv = ["some_path", -1, "some_params"] sys.modules["__main__"].utils.getThumbnail.return_value = "some_image_path" navigation = BlipTVNavigation() navigation.addFolderContextMenuItems = Mock() navigation.addFolderContextMenuItems.return_value = [] navigation.addFolderListItem({}, {"action": "some_action", "Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"}) sys.modules["__main__"].xbmcgui.ListItem.assert_called_with("some_title", iconImage='some_icon', thumbnailImage='some_image_path')
def test_addListItem_should_call_addFolderListItem_if_item_doesnt_have_an_action(self): navigation = BlipTVNavigation() navigation.addFolderListItem = Mock() navigation.addListItem({}, {}) navigation.addFolderListItem.assert_called_with({}, {})
def test_parseFolderList_should_call_xbmcplugin_endOfDirectory_correctly(self): sys.argv = ["some_path", -1, "some_params"] sys.modules["__main__"].utils.getThumbnail.return_value = "some_image_path" navigation = BlipTVNavigation() navigation.addVideoContextMenuItems = Mock() navigation.addFolderListItem = Mock() navigation.parseFolderList({"user_feed": "some_feed", "path": "some_path"}, [{"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"}, {"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"}, {"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"}]) sys.modules["__main__"].xbmcplugin.endOfDirectory.assert_called_with(handle=-1, succeeded=True, cacheToDisc=False)
def test_parseFolderList_should_call_addFolderListItem_for_each_item(self): sys.argv = ["some_path", -1, "some_params"] sys.modules["__main__"].utils.getThumbnail.return_value = "some_image_path" navigation = BlipTVNavigation() navigation.addVideoContextMenuItems = Mock() navigation.addFolderListItem = Mock() navigation.parseFolderList({"user_feed": "some_feed", "path": "some_path"}, [{"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"}, {"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"}, {"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"}]) assert(navigation.addFolderListItem.call_count == 3)
def test_parseVideoList_should_call_xbmcplugin_endOfDirectory_correctly(self): sys.modules["__main__"].utils.getThumbnail.return_value = "some_image_path" sys.modules["__main__"].settings.getSetting.return_value = 1 navigation = BlipTVNavigation() navigation.addVideoContextMenuItems = Mock() navigation.addVideoListItem = Mock() navigation.addFolderListItem = Mock() navigation.parseVideoList({"scraper": "watch_later", "path": "some_path"}, [{"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"}, {"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail", "videoid": "false"}, {"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail", "next": "true"}]) sys.modules["__main__"].xbmcplugin.endOfDirectory.assert_called_with(cacheToDisc=True, handle=-1, succeeded=True)
def test_parseVideoList_should_call_xbmc_executebuiltin_if_list_view_is_set(self): sys.argv = ["some_path", -1, "some_params"] sys.modules["__main__"].utils.getThumbnail.return_value = "some_image_path" sys.modules["__main__"].settings.getSetting.return_value = 1 navigation = BlipTVNavigation() navigation.addVideoContextMenuItems = Mock() navigation.addVideoListItem = Mock() navigation.addFolderListItem = Mock() navigation.parseVideoList({"scraper": "watch_later", "path": "some_path"}, [{"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"}, {"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail", "videoid": "false"}, {"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail", "next": "true"}]) sys.modules["__main__"].xbmc.executebuiltin.assert_called_with('Container.SetViewMode(500)')
def test_parseVideoList_should_call_settings_getSetting_to_get_list_view(self): sys.argv = ["some_path", -1, "some_params"] sys.modules["__main__"].utils.getThumbnail.return_value = "some_image_path" sys.modules["__main__"].settings.getSetting.return_value = 0 navigation = BlipTVNavigation() navigation.addVideoContextMenuItems = Mock() navigation.addVideoListItem = Mock() navigation.addFolderListItem = Mock() navigation.parseVideoList({"scraper": "watch_later", "path": "some_path"}, [{"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"}, {"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail", "videoid": "false"}, {"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail", "next": "true"}]) sys.modules["__main__"].settings.getSetting.assert_called_with("list_view")
def ttest_parseVideoList_should_call_addVideoListItem_if_item_is_not_next_item(self): sys.argv = ["some_path", -1, "some_params"] sys.modules["__main__"].utils.getThumbnail.return_value = "some_image_path" sys.modules["__main__"].settings.getSetting.return_value = 0 navigation = BlipTVNavigation() navigation.addVideoContextMenuItems = Mock() navigation.addVideoListItem = Mock() navigation.addFolderListItem = Mock() navigation.parseVideoList({"scraper": "watch_later", "path": "some_path"}, [{"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"}, {"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail", "videoid": "false"}, {"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail", "next": "true"}]) navigation.addVideoListItem.assert_called_once_with({'path': 'some_path', 'scraper': 'watch_later'}, {'path': 'some_path', 'icon': 'some_icon', 'index': '1', 'thumbnail': 'some_thumbnail', 'Title': 'some_title'}, 3)
def test_parseVideoList_should_call_xbmcplugin_addSortMethod_for_valid_sort_methods(self): sys.argv = ["some_path", -1, "some_params"] sys.modules["__main__"].utils.getThumbnail.return_value = "some_image_path" sys.modules["__main__"].settings.getSetting.return_value = 1 navigation = BlipTVNavigation() navigation.addVideoContextMenuItems = Mock() navigation.addVideoListItem = Mock() navigation.addFolderListItem = Mock() navigation.parseVideoList({"scraper": "watch_later", "path": "some_path"}, [{"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"}, {"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail", "videoid": "false"}, {"Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail", "next": "true"}]) sys.modules["__main__"].xbmcplugin.addSortMethod.assert_any_call(handle=-1, sortMethod=sys.modules["__main__"].xbmcplugin.SORT_METHOD_UNSORTED) sys.modules["__main__"].xbmcplugin.addSortMethod.assert_any_call(handle=-1, sortMethod=sys.modules["__main__"].xbmcplugin.SORT_METHOD_LABEL) sys.modules["__main__"].xbmcplugin.addSortMethod.assert_any_call(handle=-1, sortMethod=sys.modules["__main__"].xbmcplugin.SORT_METHOD_VIDEO_RATING) sys.modules["__main__"].xbmcplugin.addSortMethod.assert_any_call(handle=-1, sortMethod=sys.modules["__main__"].xbmcplugin.SORT_METHOD_DATE) sys.modules["__main__"].xbmcplugin.addSortMethod.assert_any_call(handle=-1, sortMethod=sys.modules["__main__"].xbmcplugin.SORT_METHOD_PROGRAM_COUNT) sys.modules["__main__"].xbmcplugin.addSortMethod.assert_any_call(handle=-1, sortMethod=sys.modules["__main__"].xbmcplugin.SORT_METHOD_VIDEO_RUNTIME) sys.modules["__main__"].xbmcplugin.addSortMethod.assert_any_call(handle=-1, sortMethod=sys.modules["__main__"].xbmcplugin.SORT_METHOD_GENRE)