mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 16:14:02 +00:00
populate_db: Mark onboarding steps as seen for existing users.
This commit updates populate_db to mark all onboarding steps as seen for existing users to avoid unnecessary popups during development. Developers should create a new user in development environment to test the onboarding steps.
This commit is contained in:
committed by
Tim Abbott
parent
08ed639763
commit
c70a3ffb0a
@@ -92,10 +92,6 @@ async function create_stream(page: Page): Promise<void> {
|
||||
await page.click("#stream_creation_go_to_subscribers");
|
||||
await page.type("#create_stream_name", "Test Stream 2");
|
||||
await page.click("form#stream_creation_form .finalize_create_stream");
|
||||
// an explanatory modal is shown for the first stream created
|
||||
await common.wait_for_micromodal_to_open(page);
|
||||
await page.click(".dialog_submit_button");
|
||||
await common.wait_for_micromodal_to_close(page);
|
||||
|
||||
// We redirect to the channel message view.
|
||||
await page.waitForSelector("#subscription_overlay", {hidden: true});
|
||||
|
@@ -3388,6 +3388,9 @@ class NormalActionsTest(BaseAction):
|
||||
check_realm_deactivated("events[0]", events[0])
|
||||
|
||||
def test_do_mark_onboarding_step_as_read(self) -> None:
|
||||
self.user_profile = do_create_user(
|
||||
"user@zulip.com", "password", self.user_profile.realm, "user", acting_user=None
|
||||
)
|
||||
with self.verify_action() as events:
|
||||
do_mark_onboarding_step_as_read(self.user_profile, "intro_inbox_view_modal")
|
||||
check_onboarding_steps("events[0]", events[0])
|
||||
|
@@ -977,6 +977,7 @@ class RealmImportExportTest(ExportFile):
|
||||
self.assertEqual(reaction.emoji_code, str(realm_emoji.id))
|
||||
|
||||
# data to test import of onboaring step
|
||||
OnboardingStep.objects.filter(user=sample_user).delete()
|
||||
OnboardingStep.objects.create(
|
||||
user=sample_user,
|
||||
onboarding_step="intro_inbox_view_modal",
|
||||
|
@@ -48,7 +48,7 @@ from zerver.lib.upload import sanitize_name, upload_message_attachment
|
||||
from zerver.lib.upload.base import ZulipUploadBackend
|
||||
from zerver.lib.upload.local import LocalUploadBackend
|
||||
from zerver.lib.upload.s3 import S3UploadBackend
|
||||
from zerver.models import Attachment, Message, Realm, RealmDomain, UserProfile
|
||||
from zerver.models import Attachment, Message, OnboardingStep, Realm, RealmDomain, UserProfile
|
||||
from zerver.models.realms import get_realm
|
||||
from zerver.models.users import get_system_bot, get_user_by_delivery_email
|
||||
|
||||
@@ -1454,6 +1454,12 @@ class AvatarTest(UploadSerializeMixin, ZulipTestCase):
|
||||
"user@zulip.com", "password", get_realm("zulip"), "user", acting_user=None
|
||||
)
|
||||
|
||||
# 'visibility_policy_banner' is already marked as read for new users.
|
||||
# Delete that row to avoid integrity error in copy_default_settings.
|
||||
OnboardingStep.objects.filter(
|
||||
user=target_user_profile, onboarding_step="visibility_policy_banner"
|
||||
).delete()
|
||||
|
||||
copy_default_settings(source_user_profile, target_user_profile)
|
||||
|
||||
source_path_id = avatar_disk_path(source_user_profile)
|
||||
|
@@ -44,7 +44,7 @@ from zerver.lib.upload import (
|
||||
)
|
||||
from zerver.lib.upload.base import StreamingSourceWithSize
|
||||
from zerver.lib.upload.s3 import S3UploadBackend
|
||||
from zerver.models import Attachment, RealmEmoji, UserProfile
|
||||
from zerver.models import Attachment, OnboardingStep, RealmEmoji, UserProfile
|
||||
from zerver.models.realms import get_realm
|
||||
from zerver.models.users import get_system_bot
|
||||
|
||||
@@ -361,6 +361,12 @@ class S3Test(ZulipTestCase):
|
||||
"user@zulip.com", "password", get_realm("zulip"), "user", acting_user=None
|
||||
)
|
||||
|
||||
# 'visibility_policy_banner' is already marked as read for new users.
|
||||
# Delete that row to avoid integrity error in copy_default_settings.
|
||||
OnboardingStep.objects.filter(
|
||||
user=target_user_profile, onboarding_step="visibility_policy_banner"
|
||||
).delete()
|
||||
|
||||
copy_default_settings(source_user_profile, target_user_profile)
|
||||
|
||||
source_path_id = user_avatar_path(source_user_profile)
|
||||
|
@@ -39,6 +39,7 @@ from zerver.lib.bulk_create import bulk_create_streams
|
||||
from zerver.lib.generate_test_data import create_test_data, generate_topics
|
||||
from zerver.lib.management import ZulipBaseCommand
|
||||
from zerver.lib.onboarding import create_if_missing_realm_internal_bots
|
||||
from zerver.lib.onboarding_steps import ALL_ONBOARDING_STEPS
|
||||
from zerver.lib.push_notifications import logger as push_notifications_logger
|
||||
from zerver.lib.remote_server import get_realms_info_for_push_bouncer
|
||||
from zerver.lib.server_initialization import create_internal_realm, create_users
|
||||
@@ -932,16 +933,16 @@ class Command(ZulipBaseCommand):
|
||||
)
|
||||
|
||||
user_profiles_ids = []
|
||||
onboarding_steps = []
|
||||
onboarding_steps: list[OnboardingStep] = []
|
||||
for user_profile in user_profiles:
|
||||
user_profiles_ids.append(user_profile.id)
|
||||
onboarding_steps.append(
|
||||
OnboardingStep(
|
||||
user=user_profile, onboarding_step="narrow_to_dm_with_welcome_bot_new_user"
|
||||
)
|
||||
onboarding_steps.extend(
|
||||
OnboardingStep(user=user_profile, onboarding_step=onboarding_step.name)
|
||||
for onboarding_step in ALL_ONBOARDING_STEPS
|
||||
)
|
||||
|
||||
# Existing users shouldn't narrow to DM with welcome bot on first login.
|
||||
# Mark onboarding steps as seen for existing users to avoid
|
||||
# unnecessary popups during development.
|
||||
OnboardingStep.objects.bulk_create(onboarding_steps)
|
||||
|
||||
# Create several initial direct message groups
|
||||
|
Reference in New Issue
Block a user