mirror of
https://github.com/zulip/zulip.git
synced 2025-11-16 11:52:01 +00:00
populate_db: Add a test realm emoji while populating databases.
Add `green_tick` realm emoji which can be used while performing tests.
This commit is contained in:
@@ -119,16 +119,16 @@ casper.then(function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
casper.then(function () {
|
casper.then(function () {
|
||||||
casper.waitUntilVisible('.emoji_row', function () {
|
casper.waitUntilVisible('tr#emoji_mouseface', function () {
|
||||||
casper.test.assertSelectorHasText('.emoji_row .emoji_name', 'mouseface');
|
casper.test.assertSelectorHasText('tr#emoji_mouseface .emoji_name', 'mouseface');
|
||||||
casper.test.assertExists('.emoji_row img[src="/user_avatars/1/emoji/mouseface.png"]');
|
casper.test.assertExists('.emoji_row img[src="/user_avatars/1/emoji/mouseface.png"]');
|
||||||
casper.click('.emoji_row button.delete');
|
casper.click('tr#emoji_mouseface button.delete');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
casper.then(function () {
|
casper.then(function () {
|
||||||
casper.waitWhileVisible('.emoji_row', function () {
|
casper.waitWhileVisible('tr#emoji_mouseface', function () {
|
||||||
casper.test.assertDoesntExist('.emoji_row');
|
casper.test.assertDoesntExist('tr#emoji_mouseface');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ class RealmEmojiTest(ZulipTestCase):
|
|||||||
self.assert_json_success(result)
|
self.assert_json_success(result)
|
||||||
self.assertEqual(200, result.status_code)
|
self.assertEqual(200, result.status_code)
|
||||||
content = ujson.loads(result.content)
|
content = ujson.loads(result.content)
|
||||||
self.assertEqual(len(content["emoji"]), 1)
|
self.assertEqual(len(content["emoji"]), 2)
|
||||||
|
|
||||||
def test_list_no_author(self):
|
def test_list_no_author(self):
|
||||||
# type: () -> None
|
# type: () -> None
|
||||||
@@ -30,7 +30,7 @@ class RealmEmojiTest(ZulipTestCase):
|
|||||||
result = self.client_get("/json/realm/emoji")
|
result = self.client_get("/json/realm/emoji")
|
||||||
self.assert_json_success(result)
|
self.assert_json_success(result)
|
||||||
content = ujson.loads(result.content)
|
content = ujson.loads(result.content)
|
||||||
self.assertEqual(len(content["emoji"]), 1)
|
self.assertEqual(len(content["emoji"]), 2)
|
||||||
self.assertIsNone(content["emoji"]['my_emojy']['author'])
|
self.assertIsNone(content["emoji"]['my_emojy']['author'])
|
||||||
|
|
||||||
def test_list_admins_only(self):
|
def test_list_admins_only(self):
|
||||||
@@ -44,7 +44,7 @@ class RealmEmojiTest(ZulipTestCase):
|
|||||||
result = self.client_get("/json/realm/emoji")
|
result = self.client_get("/json/realm/emoji")
|
||||||
self.assert_json_success(result)
|
self.assert_json_success(result)
|
||||||
content = ujson.loads(result.content)
|
content = ujson.loads(result.content)
|
||||||
self.assertEqual(len(content["emoji"]), 1)
|
self.assertEqual(len(content["emoji"]), 2)
|
||||||
self.assertIsNone(content["emoji"]['my_emojy']['author'])
|
self.assertIsNone(content["emoji"]['my_emojy']['author'])
|
||||||
|
|
||||||
def test_upload(self):
|
def test_upload(self):
|
||||||
@@ -62,12 +62,12 @@ class RealmEmojiTest(ZulipTestCase):
|
|||||||
result = self.client_get("/json/realm/emoji")
|
result = self.client_get("/json/realm/emoji")
|
||||||
content = ujson.loads(result.content)
|
content = ujson.loads(result.content)
|
||||||
self.assert_json_success(result)
|
self.assert_json_success(result)
|
||||||
self.assertEqual(len(content["emoji"]), 1)
|
self.assertEqual(len(content["emoji"]), 2)
|
||||||
self.assertIn('author', content["emoji"]['my_emoji'])
|
self.assertIn('author', content["emoji"]['my_emoji'])
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
content["emoji"]['my_emoji']['author']['email'], email)
|
content["emoji"]['my_emoji']['author']['email'], email)
|
||||||
|
|
||||||
realm_emoji = RealmEmoji.objects.get(realm=get_realm('zulip'))
|
realm_emoji = RealmEmoji.objects.get(name='my_emoji')
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
str(realm_emoji),
|
str(realm_emoji),
|
||||||
'<RealmEmoji(zulip): my_emoji my_emoji.png>'
|
'<RealmEmoji(zulip): my_emoji my_emoji.png>'
|
||||||
@@ -118,7 +118,7 @@ class RealmEmojiTest(ZulipTestCase):
|
|||||||
self.assert_json_success(result)
|
self.assert_json_success(result)
|
||||||
# We only mark an emoji as deactivated instead of
|
# We only mark an emoji as deactivated instead of
|
||||||
# removing it from the database.
|
# removing it from the database.
|
||||||
self.assertEqual(len(emojis), 1)
|
self.assertEqual(len(emojis), 2)
|
||||||
self.assertEqual(emojis["my_emoji"]["deactivated"], True)
|
self.assertEqual(emojis["my_emoji"]["deactivated"], True)
|
||||||
|
|
||||||
def test_delete_admins_only(self):
|
def test_delete_admins_only(self):
|
||||||
|
|||||||
@@ -6,14 +6,17 @@ from django.core.management.base import BaseCommand, CommandParser
|
|||||||
from django.utils.timezone import now as timezone_now
|
from django.utils.timezone import now as timezone_now
|
||||||
|
|
||||||
from zerver.models import Message, UserProfile, Stream, Recipient, UserPresence, \
|
from zerver.models import Message, UserProfile, Stream, Recipient, UserPresence, \
|
||||||
Subscription, RealmAuditLog, get_huddle, Realm, UserMessage, RealmDomain, \
|
Subscription, RealmAuditLog, get_huddle, Realm, RealmEmoji, UserMessage, \
|
||||||
clear_database, get_client, get_user_profile_by_id, email_to_username, \
|
RealmDomain, clear_database, get_client, get_user_profile_by_id, \
|
||||||
Service, get_user, DefaultStream, get_stream, get_realm
|
email_to_username, Service, get_user, DefaultStream, get_stream, \
|
||||||
|
get_realm
|
||||||
|
|
||||||
from zerver.lib.actions import STREAM_ASSIGNMENT_COLORS, do_send_messages, \
|
from zerver.lib.actions import STREAM_ASSIGNMENT_COLORS, do_send_messages, \
|
||||||
do_change_is_admin
|
do_change_is_admin
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from zerver.lib.bulk_create import bulk_create_streams, bulk_create_users
|
from zerver.lib.bulk_create import bulk_create_streams, bulk_create_users
|
||||||
|
from zerver.lib.upload import upload_backend
|
||||||
|
|
||||||
import random
|
import random
|
||||||
import os
|
import os
|
||||||
from six.moves import range
|
from six.moves import range
|
||||||
@@ -199,6 +202,19 @@ class Command(BaseCommand):
|
|||||||
# Extract a list of all users
|
# Extract a list of all users
|
||||||
user_profiles = list(UserProfile.objects.all()) # type: List[UserProfile]
|
user_profiles = list(UserProfile.objects.all()) # type: List[UserProfile]
|
||||||
|
|
||||||
|
# Create a test realm emoji.
|
||||||
|
IMAGE_FILE_PATH = os.path.join(settings.STATIC_ROOT, 'images', 'checkbox-green.png')
|
||||||
|
UPLOADED_EMOJI_FILE_NAME = 'green_tick.png'
|
||||||
|
with open(IMAGE_FILE_PATH, 'rb') as fp:
|
||||||
|
upload_backend.upload_emoji_image(fp, UPLOADED_EMOJI_FILE_NAME, iago)
|
||||||
|
RealmEmoji.objects.create(
|
||||||
|
name='green_tick',
|
||||||
|
author=iago,
|
||||||
|
realm=zulip_realm,
|
||||||
|
deactivated=False,
|
||||||
|
file_name=UPLOADED_EMOJI_FILE_NAME,
|
||||||
|
)
|
||||||
|
|
||||||
if not options["test_suite"]:
|
if not options["test_suite"]:
|
||||||
# Populate users with some bar data
|
# Populate users with some bar data
|
||||||
for user in user_profiles:
|
for user in user_profiles:
|
||||||
|
|||||||
Reference in New Issue
Block a user