mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			60 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# -*- coding: utf-8 -*-
 | 
						|
from __future__ import absolute_import
 | 
						|
 | 
						|
from zerver.lib.actions import get_realm, check_add_realm_emoji
 | 
						|
from zerver.lib.test_helpers import ZulipTestCase
 | 
						|
from zerver.models import RealmEmoji
 | 
						|
import ujson
 | 
						|
 | 
						|
class RealmEmojiTest(ZulipTestCase):
 | 
						|
 | 
						|
    def test_list(self):
 | 
						|
        # type: () -> None
 | 
						|
        self.login("iago@zulip.com")
 | 
						|
        realm = get_realm('zulip.com')
 | 
						|
        check_add_realm_emoji(realm, "my_emoji", "https://example.com/my_emoji")
 | 
						|
        result = self.client_get("/json/realm/emoji")
 | 
						|
        self.assert_json_success(result)
 | 
						|
        self.assertEqual(200, result.status_code)
 | 
						|
        content = ujson.loads(result.content)
 | 
						|
        self.assertEqual(len(content["emoji"]), 1)
 | 
						|
 | 
						|
    def test_upload(self):
 | 
						|
        # type: () -> None
 | 
						|
        self.login("iago@zulip.com")
 | 
						|
        data = {"name": "my_emoji", "url": "https://example.com/my_emoji"}
 | 
						|
        result = self.client_put("/json/realm/emoji", info=data)
 | 
						|
        self.assert_json_success(result)
 | 
						|
        self.assertEqual(200, result.status_code)
 | 
						|
 | 
						|
        result = self.client_get("/json/realm/emoji")
 | 
						|
        content = ujson.loads(result.content)
 | 
						|
        self.assert_json_success(result)
 | 
						|
        self.assertEqual(len(content["emoji"]), 1)
 | 
						|
 | 
						|
        realm_emoji = RealmEmoji.objects.get(realm=get_realm('zulip.com'))
 | 
						|
        self.assertEqual(
 | 
						|
            str(realm_emoji),
 | 
						|
            '<RealmEmoji(zulip.com): my_emoji https://example.com/my_emoji>'
 | 
						|
        )
 | 
						|
 | 
						|
    def test_upload_exception(self):
 | 
						|
        # type: () -> None
 | 
						|
        self.login("iago@zulip.com")
 | 
						|
        data = {"name": "my_em*/oji", "url": "https://example.com/my_emoji"}
 | 
						|
        result = self.client_put("/json/realm/emoji", info=data)
 | 
						|
        self.assert_json_error(result, 'Invalid characters in Emoji name')
 | 
						|
 | 
						|
    def test_delete(self):
 | 
						|
        # type: () -> None
 | 
						|
        self.login("iago@zulip.com")
 | 
						|
        realm = get_realm('zulip.com')
 | 
						|
        check_add_realm_emoji(realm, "my_emoji", "https://example.com/my_emoji")
 | 
						|
        result = self.client_delete("/json/realm/emoji/my_emoji")
 | 
						|
        self.assert_json_success(result)
 | 
						|
 | 
						|
        result = self.client_get("/json/realm/emoji")
 | 
						|
        content = ujson.loads(result.content)
 | 
						|
        self.assert_json_success(result)
 | 
						|
        self.assertEqual(len(content["emoji"]), 0)
 |