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_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_store_should_call_getStorageKey_to_fetch_correct_storage_key(self):
        storage = YouTubeStorage()
        storage.getStorageKey = Mock()

        result = storage.store({"store": "pokeystore"})

        storage.getStorageKey.assert_called_with({"store": "pokeystore"}, "", {})
    def test_getReversePlaylistOrder_should_return_false_if_playlist_is_not_in_params(self):
        storage = YouTubeStorage()
        storage.retrieve = Mock()
        storage.retrieve.return_value = "true"
        storage.store = Mock()

        result = storage.getReversePlaylistOrder()

        assert result == False
    def test_reversePlaylistOrder_should_executebuiltin_on_succes(self):
        storage = YouTubeStorage()
        storage.retrieve = Mock()
        storage.retrieve.return_value = "false"
        storage.store = Mock()

        storage.reversePlaylistOrder({"playlist": "some_playlists"})

        sys.modules["__main__"].xbmc.executebuiltin.assert_called_with("Container.Refresh")
    def test_reversePlaylistOrder_should_call_store_to_save_reverse_value(self):
        storage = YouTubeStorage()
        storage.retrieve = Mock()
        storage.retrieve.return_value = "false"
        storage.store = Mock()

        storage.reversePlaylistOrder({"playlist": "some_playlists"})

        storage.store.assert_called_with({"playlist": "some_playlists"}, "true", "value")
    def test_store_should_call_getStorageKey_to_fetch_correct_storage_key(
            self):
        storage = YouTubeStorage()
        storage.getStorageKey = Mock()

        result = storage.store({"store": "pokeystore"})

        storage.getStorageKey.assert_called_with({'store': 'pokeystore'}, '',
                                                 {})
    def test_reversePlaylistOrder_should_exit_cleanly_if_playlist_params_is_missing(self):
        storage = YouTubeStorage()
        storage.retrieve = Mock()
        storage.retrieve.return_value = "false"
        storage.store = Mock()

        storage.reversePlaylistOrder({})

        assert storage.retrieve.call_count == 0
        assert storage.store.call_count == 0
    def test_getReversePlaylistOrder_should_return_false_if_playlist_is_not_in_params(
            self):
        storage = YouTubeStorage()
        storage.retrieve = Mock()
        storage.retrieve.return_value = "true"
        storage.store = Mock()

        result = storage.getReversePlaylistOrder()

        assert (result == False)
    def test_reversePlaylistOrder_should_executebuiltin_on_succes(self):
        storage = YouTubeStorage()
        storage.retrieve = Mock()
        storage.retrieve.return_value = "false"
        storage.store = Mock()

        storage.reversePlaylistOrder({"playlist": "some_playlists"})

        sys.modules["__main__"].xbmc.executebuiltin.assert_called_with(
            'Container.Refresh')
    def test_store_should_call_storeValue_if_type_is_set(self):
        storage = YouTubeStorage()
        storage.storeValue = Mock()
        storage.getStorageKey = Mock()
        storage.getStorageKey.return_value = "key"

        result = storage.store({}, {"store": "pokeystore"}, "value")

        print repr(result)

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

        result = storage.store({}, {"store": "pokeystore"}, "value")

        print repr(result)

        storage.storeValue.assert_called_with("key", {"store": "pokeystore"})
    def test_reversePlaylistOrder_should_call_store_to_save_reverse_value(
            self):
        storage = YouTubeStorage()
        storage.retrieve = Mock()
        storage.retrieve.return_value = "false"
        storage.store = Mock()

        storage.reversePlaylistOrder({"playlist": "some_playlists"})

        storage.store.assert_called_with({'playlist': 'some_playlists'},
                                         'true', 'value')
    def test_reversePlaylistOrder_should_exit_cleanly_if_playlist_params_is_missing(
            self):
        storage = YouTubeStorage()
        storage.retrieve = Mock()
        storage.retrieve.return_value = "false"
        storage.store = Mock()

        storage.reversePlaylistOrder({})

        assert (storage.retrieve.call_count == 0)
        assert (storage.store.call_count == 0)