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:
Harshit Bansal
2017-07-14 18:26:53 +05:30
parent aa645eb72b
commit eeb25b6b4b
3 changed files with 30 additions and 14 deletions

View File

@@ -119,16 +119,16 @@ casper.then(function () {
});
casper.then(function () {
casper.waitUntilVisible('.emoji_row', function () {
casper.test.assertSelectorHasText('.emoji_row .emoji_name', 'mouseface');
casper.waitUntilVisible('tr#emoji_mouseface', function () {
casper.test.assertSelectorHasText('tr#emoji_mouseface .emoji_name', 'mouseface');
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.waitWhileVisible('.emoji_row', function () {
casper.test.assertDoesntExist('.emoji_row');
casper.waitWhileVisible('tr#emoji_mouseface', function () {
casper.test.assertDoesntExist('tr#emoji_mouseface');
});
});

View File

@@ -19,7 +19,7 @@ class RealmEmojiTest(ZulipTestCase):
self.assert_json_success(result)
self.assertEqual(200, result.status_code)
content = ujson.loads(result.content)
self.assertEqual(len(content["emoji"]), 1)
self.assertEqual(len(content["emoji"]), 2)
def test_list_no_author(self):
# type: () -> None
@@ -30,7 +30,7 @@ class RealmEmojiTest(ZulipTestCase):
result = self.client_get("/json/realm/emoji")
self.assert_json_success(result)
content = ujson.loads(result.content)
self.assertEqual(len(content["emoji"]), 1)
self.assertEqual(len(content["emoji"]), 2)
self.assertIsNone(content["emoji"]['my_emojy']['author'])
def test_list_admins_only(self):
@@ -44,7 +44,7 @@ class RealmEmojiTest(ZulipTestCase):
result = self.client_get("/json/realm/emoji")
self.assert_json_success(result)
content = ujson.loads(result.content)
self.assertEqual(len(content["emoji"]), 1)
self.assertEqual(len(content["emoji"]), 2)
self.assertIsNone(content["emoji"]['my_emojy']['author'])
def test_upload(self):
@@ -62,12 +62,12 @@ class RealmEmojiTest(ZulipTestCase):
result = self.client_get("/json/realm/emoji")
content = ujson.loads(result.content)
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.assertEqual(
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(
str(realm_emoji),
'<RealmEmoji(zulip): my_emoji my_emoji.png>'
@@ -118,7 +118,7 @@ class RealmEmojiTest(ZulipTestCase):
self.assert_json_success(result)
# We only mark an emoji as deactivated instead of
# removing it from the database.
self.assertEqual(len(emojis), 1)
self.assertEqual(len(emojis), 2)
self.assertEqual(emojis["my_emoji"]["deactivated"], True)
def test_delete_admins_only(self):

View File

@@ -6,14 +6,17 @@ from django.core.management.base import BaseCommand, CommandParser
from django.utils.timezone import now as timezone_now
from zerver.models import Message, UserProfile, Stream, Recipient, UserPresence, \
Subscription, RealmAuditLog, get_huddle, Realm, UserMessage, RealmDomain, \
clear_database, get_client, get_user_profile_by_id, email_to_username, \
Service, get_user, DefaultStream, get_stream, get_realm
Subscription, RealmAuditLog, get_huddle, Realm, RealmEmoji, UserMessage, \
RealmDomain, clear_database, get_client, get_user_profile_by_id, \
email_to_username, Service, get_user, DefaultStream, get_stream, \
get_realm
from zerver.lib.actions import STREAM_ASSIGNMENT_COLORS, do_send_messages, \
do_change_is_admin
from django.conf import settings
from zerver.lib.bulk_create import bulk_create_streams, bulk_create_users
from zerver.lib.upload import upload_backend
import random
import os
from six.moves import range
@@ -199,6 +202,19 @@ class Command(BaseCommand):
# Extract a list of all users
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"]:
# Populate users with some bar data
for user in user_profiles: