diff --git a/zerver/tests/test_realm_emoji.py b/zerver/tests/test_realm_emoji.py index 351fcf24a5..d4e1c54539 100644 --- a/zerver/tests/test_realm_emoji.py +++ b/zerver/tests/test_realm_emoji.py @@ -107,3 +107,9 @@ class RealmEmojiTest(ZulipTestCase): check_add_realm_emoji(realm, "my_emoji", "https://example.com/my_emoji") result = self.client_delete("/json/realm/emoji/my_emoji") self.assert_json_error(result, 'Must be a realm administrator') + + def test_delete_exception(self): + # type: () -> None + self.login("iago@zulip.com") + result = self.client_delete("/json/realm/emoji/invalid_emoji") + self.assert_json_error(result, "Emoji 'invalid_emoji' does not exist") diff --git a/zerver/views/realm_emoji.py b/zerver/views/realm_emoji.py index 094062934d..ee8ed201f5 100644 --- a/zerver/views/realm_emoji.py +++ b/zerver/views/realm_emoji.py @@ -6,7 +6,7 @@ from django.utils.translation import ugettext as _ from typing import Text from zerver.models import UserProfile -from zerver.lib.emoji import check_emoji_admin, check_valid_emoji_name +from zerver.lib.emoji import check_emoji_admin, check_valid_emoji_name, check_valid_emoji from zerver.lib.request import JsonableError, REQ, has_request_variables from zerver.lib.response import json_success, json_error from zerver.lib.actions import check_add_realm_emoji, do_remove_realm_emoji @@ -32,5 +32,6 @@ def upload_emoji(request, user_profile, emoji_name=None, url=REQ()): def delete_emoji(request, user_profile, emoji_name): # type: (HttpRequest, UserProfile, Text) -> HttpResponse check_emoji_admin(user_profile) + check_valid_emoji(user_profile.realm, emoji_name) do_remove_realm_emoji(user_profile.realm, emoji_name) return json_success()