def test_showListingError_should_call_showMessage_on_listing_error_with_proper_label(self):
        sys.modules["__main__"].scraper.scrape.return_value = []
        sys.modules["__main__"].language.return_value = "some_string"
        navigation = BlipTVNavigation()

        navigation.showListingError({"scraper": "staff_picks"})

        sys.modules["__main__"].utils.showMessage.assert_any_call("some_string", "some_string")
        sys.modules["__main__"].language.assert_any_call(30601)
    def test_list_should_call_storage_list_if_store_is_in_params(self):
        sys.modules["__main__"].storage.list.return_value = ([], 200)
        navigation = BlipTVNavigation()
        navigation.parseVideoList = Mock()
        navigation.parseFolderList = Mock()
        navigation.showListingError = Mock()

        navigation.list({"store": "some_store"})

        sys.modules["__main__"].storage.list.assert_called_with({"store": "some_store"})
    def test_list_should_call_parseVideoList_if_list_was_successfull_and_folder_is_not_in_params(self):
        sys.modules["__main__"].scraper.scrape.return_value = ["videos"]
        navigation = BlipTVNavigation()
        navigation.parseVideoList = Mock()
        navigation.parseFolderList = Mock()
        navigation.showListingError = Mock()

        navigation.list({"scraper": "some_scraper"})

        navigation.parseVideoList.assert_called_with({"scraper": "some_scraper"}, ["videos"])
    def test_list_should_call_showListingError_on_listing_error(self):
        sys.modules["__main__"].scraper.scrape.return_value = []
        sys.modules["__main__"].language.return_value = "some_string"
        navigation = BlipTVNavigation()
        navigation.parseVideoList = Mock()
        navigation.parseFolderList = Mock()
        navigation.showListingError = Mock()

        navigation.list({"scraper": "staff_picks"})

        navigation.showListingError.assert_any_call({"scraper": "staff_picks"})
    def test_list_should_ask_user_for_input_if_scraper_is_show_search_and_search_is_missing_from_params(self):
        sys.modules["__main__"].scraper.scrape.return_value = ([], 200)
        sys.modules["__main__"].language.return_value = "some_string"
        navigation = BlipTVNavigation()
        navigation.parseVideoList = Mock()
        navigation.parseFolderList = Mock()
        navigation.showListingError = Mock()

        navigation.list({"scraper": "show_search"})

        sys.modules["__main__"].common.getUserInput.assert_called_with("some_string", "")