def test_getStorageKey_should_call_getViewModeStorageKey_if_type_is_viewmode(self):
        storage = YouTubeStorage()
        storage._getViewModeStorageKey = Mock()

        result = storage.getStorageKey({"some_param": "param_value"}, "viewmode")

        storage._getViewModeStorageKey.assert_called_with({"some_param": "param_value"}, {})
    def test_getViewModeStorageKey_should_return_correct_key_for_channel_path(
            self):
        storage = YouTubeStorage()

        result = storage._getViewModeStorageKey({"channel": "some_channel"})

        assert (result == "view_mode_some_channel")
    def test_getViewModeStorageKey_should_handle_external_marker(self):
        storage = YouTubeStorage()

        result = storage._getViewModeStorageKey(
            {"channel": "some_channel", "external": "true", "contact": "some_contact"}
        )

        assert result[: result.find("_")] == "external"
    def test_getViewModeStorageKey_should_handle_external_marker(self):
        storage = YouTubeStorage()

        result = storage._getViewModeStorageKey({
            "channel": "some_channel",
            "external": "true",
            "contact": "some_contact"
        })

        assert (result[:result.find("_")] == "external")
    def test_getStorageKey_should_call_getViewModeStorageKey_if_type_is_viewmode(
            self):
        storage = YouTubeStorage()
        storage._getViewModeStorageKey = Mock()

        result = storage.getStorageKey({"some_param": "param_value"},
                                       "viewmode")

        storage._getViewModeStorageKey.assert_called_with(
            {"some_param": "param_value"}, {})
    def test_getViewModeStorageKey_should_return_correct_key_for_channel_path(self):
        storage = YouTubeStorage()

        result = storage._getViewModeStorageKey({"channel": "some_channel"})

        assert result == "view_mode_some_channel"