def test_storeResultSet_should_call_cache_set_with_correct_params_by_default(
            self):
        storage = YouTubeStorage()

        storage.storeResultSet("some_key", ["some_value"])

        sys.modules["__main__"].cache.set.assert_called_with(
            "some_key", repr(["some_value"]))
    def test_storeResultSet_should_append_item_to_collection_if_append_is_in_params(self):
        sys.modules["__main__"].settings.getSetting.return_value = "0"
        storage = YouTubeStorage()
        storage.retrieveResultSet = Mock()

        storage.storeResultSet("some_key", "some_value", {"append": "true"})

        storage.retrieveResultSet().append.assert_called_with("some_value")
    def test_storeResultSet_should_prepend_item_to_collection_if_prepend_is_in_params(self):
        sys.modules["__main__"].settings.getSetting.return_value = "0"
        storage = YouTubeStorage()
        storage.retrieveResultSet = Mock()
        storage.retrieveResultSet.return_value = ["some_default"]

        storage.storeResultSet("some_key", "some_value", {"prepend": "true"})

        sys.modules["__main__"].cache.set.assert_called_with("some_key", repr(["some_value", "some_default"]))
    def test_storeResultSet_should_call_cache_set_correctly_if_append_is_in_params(self):
        sys.modules["__main__"].settings.getSetting.return_value = "0"
        storage = YouTubeStorage()
        storage.retrieveResultSet = Mock()
        storage.retrieveResultSet.return_value = ["smokey"]

        storage.storeResultSet("some_key", "some_value", {"append": "true"})

        sys.modules["__main__"].cache.set.assert_called_with("some_key", repr(["smokey", "some_value"]))
    def test_storeResultSet_should_call_retrieveResultSet_if_append_is_in_params(self):
        sys.modules["__main__"].settings.getSetting.return_value = "0"
        storage = YouTubeStorage()
        storage.retrieveResultSet = Mock()
        storage.retrieveResultSet.return_value = []

        storage.storeResultSet("some_key", ["some_value"], {"append": "true"})

        storage.retrieveResultSet.assert_called_with("some_key")
    def test_storeResultSet_should_call_settings_getSetting_to_get_stored_searches_limit_if_prepend_is_params(self):
        sys.modules["__main__"].settings.getSetting.return_value = "0"
        storage = YouTubeStorage()
        storage.retrieveResultSet = Mock()
        storage.retrieveResultSet.return_value = []

        storage.storeResultSet("some_key", ["some_value"], {"prepend": "true"})

        sys.modules["__main__"].settings.getSetting.assert_called_with("saved_searches")
    def test_storeResultSet_should_append_item_to_collection_if_append_is_in_params(
            self):
        sys.modules["__main__"].settings.getSetting.return_value = "0"
        storage = YouTubeStorage()
        storage.retrieveResultSet = Mock()

        storage.storeResultSet("some_key", "some_value", {"append": "true"})

        storage.retrieveResultSet().append.assert_called_with("some_value")
    def test_storeResultSet_should_call_retrieveResultSet_if_append_is_in_params(
            self):
        sys.modules["__main__"].settings.getSetting.return_value = "0"
        storage = YouTubeStorage()
        storage.retrieveResultSet = Mock()
        storage.retrieveResultSet.return_value = []

        storage.storeResultSet("some_key", ["some_value"], {"append": "true"})

        storage.retrieveResultSet.assert_called_with("some_key")
    def test_storeResultSet_should_prepend_item_to_collection_if_prepend_is_in_params(
            self):
        sys.modules["__main__"].settings.getSetting.return_value = "0"
        storage = YouTubeStorage()
        storage.retrieveResultSet = Mock()
        storage.retrieveResultSet.return_value = ["some_default"]

        storage.storeResultSet("some_key", "some_value", {"prepend": "true"})

        sys.modules["__main__"].cache.set.assert_called_with(
            "some_key", repr(["some_value", "some_default"]))
    def test_storeResultSet_should_call_cache_set_correctly_if_append_is_in_params(
            self):
        sys.modules["__main__"].settings.getSetting.return_value = "0"
        storage = YouTubeStorage()
        storage.retrieveResultSet = Mock()
        storage.retrieveResultSet.return_value = ["smokey"]

        storage.storeResultSet("some_key", "some_value", {"append": "true"})

        sys.modules["__main__"].cache.set.assert_called_with(
            "some_key", repr(["smokey", "some_value"]))
    def test_storeResultSet_should_call_settings_getSetting_to_get_stored_searches_limit_if_prepend_is_params(
            self):
        sys.modules["__main__"].settings.getSetting.return_value = "0"
        storage = YouTubeStorage()
        storage.retrieveResultSet = Mock()
        storage.retrieveResultSet.return_value = []

        storage.storeResultSet("some_key", ["some_value"], {"prepend": "true"})

        sys.modules["__main__"].settings.getSetting.assert_called_with(
            "saved_searches")
    def test_storeValue_should_call_cache_set_with_correct_params(self):
        storage = YouTubeStorage()
        storage.storeResultSet = Mock()
        storage.getStorageKey = Mock()
        storage.getStorageKey.return_value = "key"

        storage.storeValue("some_key", "some_value")

        sys.modules["__main__"].cache.set.assert_called_with("some_key", "some_value")
    def test_store_should_call_storeResultSet_if_type_is_not_set(self):
        storage = YouTubeStorage()
        storage.storeResultSet = Mock()
        storage.getStorageKey = Mock()
        storage.getStorageKey.return_value = "key"

        storage.store({}, {"store": "pokeystore"})

        storage.storeResultSet.assert_called_with("key", {"store": "pokeystore"})
    def test_storeValue_should_call_cache_set_with_correct_params(self):
        storage = YouTubeStorage()
        storage.storeResultSet = Mock()
        storage.getStorageKey = Mock()
        storage.getStorageKey.return_value = "key"

        storage.storeValue("some_key", "some_value")

        sys.modules["__main__"].cache.set.assert_called_with(
            "some_key", "some_value")
    def test_store_should_call_storeResultSet_if_type_is_not_set(self):
        storage = YouTubeStorage()
        storage.storeResultSet = Mock()
        storage.getStorageKey = Mock()
        storage.getStorageKey.return_value = "key"

        storage.store({}, {"store": "pokeystore"})

        storage.storeResultSet.assert_called_with("key",
                                                  {"store": "pokeystore"})
    def test_storeResultSet_should_call_cache_set_with_correct_params_by_default(self):
        storage = YouTubeStorage()

        storage.storeResultSet("some_key", ["some_value"])

        sys.modules["__main__"].cache.set.assert_called_with("some_key", repr(["some_value"]))