zulip/zerver/tests
Kislay Verma 5f80f0a970 channel: Add option to notify users newly added to a channel.
When a user is added to a channel, we send
the user that was added a Notification Bot
DMs to let them know about it.

In this commit, we add an option for whether or not
this message is sent.

If more than 100 users are added at once, we
do not send notification bot DMs since it would
be a performance-costly operation.

We also send this threshold value of 100 in the
initial state data to the clients.

Fixes part of #31189
2025-06-26 10:08:11 -07:00
..
fixtures mattermost_import: Add message with faulty HTML to fixture. 2025-05-23 11:28:41 -07:00
images thumbnail: Show the first few frames of large animated images. 2025-01-15 09:56:19 -08:00
__init__.py
test_alert_words.py alert_words: Migrate alert_words to use @typed_endpoint. 2023-09-08 08:20:17 -07:00
test_attachments.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
test_audit_log.py channel_folders: Pass realm as argument to check_add_channel_folder. 2025-05-29 15:39:03 -07:00
test_auth_backends.py ldap: Extract sync_groups function from sync_groups_from_ldap. 2025-05-15 10:20:28 -07:00
test_bots.py rest_api: Add logging for use of the deprecated method parameter. 2025-04-24 13:10:52 -07:00
test_cache.py cache: Do not fail the request on cache-set failures. 2025-03-05 09:48:58 -08:00
test_channel_access.py tests: Move channel access tests to test_channel_access. 2025-05-28 17:02:41 -07:00
test_channel_creation.py channel: Add option to notify users newly added to a channel. 2025-06-26 10:08:11 -07:00
test_channel_fetch.py tests: Move tests to get streams and subscriptions to test_channel_fetch. 2025-06-11 15:41:50 -07:00
test_channel_folders.py folders: Don't allow archiving a folder if it contains channels. 2025-05-29 15:39:03 -07:00
test_channel_permissions.py tests: Move test to check permission to deactivate streams. 2025-06-19 10:42:52 -07:00
test_compatibility.py python: Reformat with Ruff formatter. 2024-02-29 17:07:16 -08:00
test_create_video_call.py video-calls: Add Zoom Serverto Server OAuth integration. 2025-02-13 16:35:43 -08:00
test_custom_profile_data.py user: Remove is_billing_admin user property. 2025-03-10 09:36:30 -07:00
test_decorators.py users: Allow spectators to access /users API endpoint. 2025-05-15 12:37:29 -07:00
test_default_channels.py tests: Move test for updating default stream to test_default_channels. 2025-06-11 15:41:50 -07:00
test_delete_unclaimed_attachments.py do_delete_old_unclaimed_attachments: Cap deletions at batch size. 2024-08-28 13:57:57 -07:00
test_digest.py email: Apply message content visibility settings to digest too. 2025-04-15 16:24:59 -07:00
test_docs.py documentation: Update the subdomain value used in URL context variables. 2025-06-20 16:04:26 -07:00
test_drafts.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
test_email_change.py demo-orgs: Schedule onboarding/welcome emails when owner adds email. 2025-05-20 16:25:51 -07:00
test_email_log.py send_email: Skip the ScheduledEmail table for 0-delay emails. 2025-03-04 16:09:25 -08:00
test_email_mirror.py email_mirror: Also strip "SV:" from subject. 2025-05-29 10:55:18 -07:00
test_email_notifications.py send_email: Skip the ScheduledEmail table for 0-delay emails. 2025-03-04 16:09:25 -08:00
test_embedded_bot_system.py ruff: Fix SIM117 Use a single with statement with multiple contexts. 2024-07-14 13:48:32 -07:00
test_event_queue.py event_queue: Remove pre-5.0 compatibility code. 2025-03-26 10:54:38 -07:00
test_event_system.py channel_folders: Pass realm as argument to check_add_channel_folder. 2025-05-29 15:39:03 -07:00
test_events.py streams: Add subscriber_count to page load data. 2025-06-19 14:25:41 -07:00
test_example.py direct_messages: Use DM groups for 1:1 or self DMs if present. 2025-05-18 23:58:59 -07:00
test_external.py zephyr: Switch from py3dns to dnspython. 2025-02-25 11:53:08 -08:00
test_github.py apps: Provide arm64 app build by default for macOS. 2025-03-28 16:45:07 -07:00
test_handle_push_notification.py ruff: Fix LOG014 exc_info= outside exception handlers. 2025-06-25 11:49:02 -07:00
test_health.py ruff: Bump target-version from py38 to py310. 2024-07-13 22:28:22 -07:00
test_home.py channel: Add option to notify users newly added to a channel. 2025-06-26 10:08:11 -07:00
test_i18n.py i18n: Update translation data from Transifex. 2024-11-18 16:12:31 -08:00
test_import_export.py navigation_views: Add backend for navigation views in left sidebar. 2025-05-23 16:25:08 -07:00
test_integrations_dev_panel.py ruff: Bump target-version from py38 to py310. 2024-07-13 22:28:22 -07:00
test_integrations.py integrations: Add FIXTURELESS_SCREENSHOT_CONFIG. 2025-06-01 11:38:02 -07:00
test_internet.py ruff: Fix B017 assertRaises(Exception): should be considered evil. 2022-11-03 12:10:15 -07:00
test_invite.py python: Use Django 5.2 reverse(…, query=…). 2025-06-12 09:32:38 -07:00
test_legacy_subject.py
test_link_embed.py youtube: Request medium-quality preview images. 2025-03-05 13:59:58 -08:00
test_management_commands.py realm_creation_form: Capture import_from if realm import enabled. 2025-04-30 00:06:43 -07:00
test_markdown_thumbnail.py thumbnail: Add a tool to re-thumbnail spinners, or process old images. 2025-04-23 17:41:51 -07:00
test_markdown.py markdown: Change URL structure for dropbox preview to be up-to-date. 2025-06-24 13:48:01 -07:00
test_mattermost_importer.py messages: Use "\x07" as topic for DMs and group DMs. 2025-06-19 10:44:37 -07:00
test_message_delete.py test_message_delete: Add test for do_delete_messages grouping logic. 2025-06-17 19:45:36 -07:00
test_message_dict.py test_message_dict: Add test for checking "subject" field value. 2025-06-19 10:44:37 -07:00
test_message_edit_notifications.py queue: Rename queue_json_publish to queue_json_publish_rollback_unsafe. 2024-12-06 09:23:02 -08:00
test_message_edit.py stream_setting: Add setting for who can move messages within channel. 2025-06-24 16:52:53 -07:00
test_message_fetch.py direct_messages: Use DM groups for 1:1 or self DMs if present. 2025-05-18 23:58:59 -07:00
test_message_flags.py messages: Add unread 1:1/self DMs to pm_dict if DM group exists. 2025-06-05 17:03:49 -07:00
test_message_move_stream.py stream_setting: Add setting for who can move messages out of channel. 2025-06-24 16:52:53 -07:00
test_message_move_topic.py stream_setting: Add setting for who can move messages out of channel. 2025-06-24 16:52:53 -07:00
test_message_notification_emails.py demo-orgs: Check owner email for missed message emails. 2025-05-21 12:56:27 -07:00
test_message_report.py report_message: Use existing template for reporting 1:1 DM via DM group. 2025-06-18 12:46:23 -07:00
test_message_send.py messages: Use "\x07" as topic for DMs and group DMs. 2025-06-19 10:44:37 -07:00
test_message_summary.py test_message_summary: Fix failing tests. 2025-02-28 12:10:16 +05:30
test_message_topics.py test_message_topics: Optimize test by limiting fetch_event_types. 2025-03-28 09:24:47 -07:00
test_messages.py direct_message_group: Add new group_size field. 2024-08-23 11:09:41 -07:00
test_middleware.py middleware-test: Use "restrict-wildcard-mentions" for admonition test. 2025-03-11 12:26:21 -07:00
test_migration_status.py migration_status: Refactor parse_migration_status. 2025-03-20 10:57:54 -07:00
test_migrations.py CVE-2024-27286: Delete dangling UserMessage rows. 2024-03-19 18:22:24 -04:00
test_mirror_users.py zephyr: Switch from py3dns to dnspython. 2025-02-25 11:53:08 -08:00
test_muted_users.py variables: Correct instances of misspelled 'message'. 2025-04-16 13:17:19 -07:00
test_navigation_views.py navigation_views: Add backend for navigation views in left sidebar. 2025-05-23 16:25:08 -07:00
test_new_users.py ruff: Bump target-version from py38 to py310. 2024-07-13 22:28:22 -07:00
test_notification_data.py mention: Do not include deactivated users in group mention data. 2024-10-10 11:37:44 -07:00
test_onboarding_steps.py onboarding_steps: Add 'navigation_tour_video' for new users. 2025-03-13 14:38:16 -07:00
test_onboarding.py
test_openapi.py navigation_views: Add backend for navigation views in left sidebar. 2025-05-23 16:25:08 -07:00
test_outgoing_http.py requirements: Upgrade Python requirements. 2024-09-24 19:27:21 -07:00
test_outgoing_webhook_interfaces.py avatar: Add option to disable gravatars per realm. 2025-01-30 18:46:02 -08:00
test_outgoing_webhook_system.py message_cache: Use the sender’s recipient_id for incoming 1:1 DMs. 2024-12-11 12:05:03 -08:00
test_populate_db.py stream: Add subscriber_count field. 2025-05-13 17:36:53 -07:00
test_presence.py presence: Fix for last active time for invisible mode. 2025-02-26 12:51:57 -08:00
test_push_notifications.py push_notification: Use existing payload for 1:1 DM using DM group. 2025-06-18 12:44:56 -07:00
test_queue_worker.py email-mirror: Add a standalone server that processes incoming email. 2025-05-19 16:39:44 -07:00
test_queue.py queue: Rename queue_json_publish to queue_json_publish_rollback_unsafe. 2024-12-06 09:23:02 -08:00
test_rate_limiter.py ruff: Fix UP006 Use list instead of List for type annotation. 2024-07-13 22:28:22 -07:00
test_reactions.py emoji: Remap ':smile' emoji and update the settings UI. 2025-04-07 17:34:52 -07:00
test_read_receipts.py refactor: Rename huddle to direct_message_group in non API. 2024-07-04 07:56:31 -07:00
test_realm_domains.py models: Extract zerver.models.realms. 2023-12-16 22:08:44 -08:00
test_realm_emoji.py settings: Add can_add_custom_emoji_group realm setting. 2024-10-13 16:09:04 -07:00
test_realm_export.py export: Add guardrails against generating a dysfunctional export via UI. 2025-03-28 17:44:58 -07:00
test_realm_linkifiers.py audit-log: Move realm event types to AuditLogEventType enum. 2024-09-09 11:50:13 -07:00
test_realm_playgrounds.py code_playground: Add custom playground options in the default_options list. 2025-02-16 17:22:47 -08:00
test_realm.py settings: Add a new topics_policy realm setting. 2025-06-17 17:05:58 -07:00
test_recipient_parsing.py scheduled_messages: Migrate to typed_endpoint. 2024-08-20 10:03:22 -07:00
test_redis_utils.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
test_reminders.py reminder: Use pretty message link for reminder text. 2025-06-25 12:05:28 -07:00
test_report.py zerver: Remove now-unused report/ endpoints. 2023-05-09 13:16:28 -07:00
test_retention.py message_delete: Refactor do_delete_messages to group messages by topic. 2025-06-17 19:45:36 -07:00
test_rocketchat_importer.py messages: Use "\x07" as topic for DMs and group DMs. 2025-06-19 10:44:37 -07:00
test_saved_snippets.py api: Update saved snippets edit endpoint. 2025-03-17 11:03:25 -07:00
test_scheduled_messages.py messages: Use "\x07" as topic for DMs and group DMs. 2025-06-19 10:44:37 -07:00
test_scim.py scim: Extract ROLE_TYPE_TO_NAME dict to UserProfile. 2024-08-20 11:53:24 -07:00
test_send_email.py ruff: Fix SIM117 Use a single with statement with multiple contexts. 2024-07-14 13:48:32 -07:00
test_server_settings.py
test_service_bot_system.py worker: Flag messages processed by embedded bot. 2025-01-24 17:56:44 -08:00
test_sessions.py ruff: Fix UP035 Import from collections.abc, typing instead. 2024-07-13 22:28:22 -07:00
test_settings.py settings: Add setting for marking resolved-topic notices as read. 2025-05-13 16:23:21 -07:00
test_signup.py requirements: Upgrade Python requirements. 2025-06-25 11:49:02 -07:00
test_slack_importer.py messages: Use "\x07" as topic for DMs and group DMs. 2025-06-19 10:44:37 -07:00
test_slack_message_conversion.py slack_data_import: Fix incorrect hyperlink conversion. 2024-10-30 09:48:32 -07:00
test_soft_deactivation.py audit-log: Move user event types to AuditLogEventType enum. 2024-09-09 11:50:13 -07:00
test_subdomains.py ruff: Fix UP035 Import from collections.abc, typing instead. 2024-07-13 22:28:22 -07:00
test_submessage.py queue: Rename queue_json_publish to queue_json_publish_rollback_unsafe. 2024-12-06 09:23:02 -08:00
test_subs.py channel: Add option to notify users newly added to a channel. 2025-06-26 10:08:11 -07:00
test_subscription_settings.py tests: Move subscription properties test to new file. 2025-06-11 15:41:50 -07:00
test_templates.py css: Use classname instead of div selector for .blocks. 2024-08-13 22:36:35 -07:00
test_thumbnail.py tests: Consume more streaming responses. 2025-02-05 13:16:12 -08:00
test_timeout.py timeout: Rename to unsafe_timeout. 2024-04-18 11:50:38 -07:00
test_timestamp.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
test_timezone.py ruff: Bump target-version from py38 to py310. 2024-07-13 22:28:22 -07:00
test_topic_link_util.py topic_link_util: Support message links in backend. 2025-06-18 13:03:56 -07:00
test_tornado.py test_tornado: Add nocoverage for task cleanup. 2025-02-14 17:04:51 -08:00
test_transfer.py emoji: Pass down content-type, rather than guessing from extension. 2024-07-12 13:26:47 -07:00
test_tusd.py realm_creation_form: Capture import_from if realm import enabled. 2025-04-30 00:06:43 -07:00
test_tutorial.py user_profile: Remove 'tutorial_status' field. 2024-08-15 13:31:40 -07:00
test_typed_endpoint_validators.py zerver: Migrate some files to typed_endpoint. 2024-07-20 15:46:48 -07:00
test_typed_endpoint.py ruff: Enable B008 function-call-in-default-argument. 2024-11-10 22:43:55 -08:00
test_typing.py api: Rename edit typing endpoint to /messages/{message_id}/typing. 2025-02-28 13:20:46 -08:00
test_upload_local.py upload: Allow filtering to just a prefix (e.g. a realm id). 2024-09-26 12:01:11 -07:00
test_upload_s3.py populate_db: Mark onboarding steps as seen for existing users. 2025-03-13 14:38:16 -07:00
test_upload.py attachments: Allow seeing attachments to users with content access. 2025-04-23 12:43:54 -07:00
test_url_decoding.py url_decoding: Add parse_narrow_url. 2025-02-24 15:37:40 -08:00
test_urls.py corporate: Replace /try-zulip with /?show_try_zulip_modal. 2025-04-03 13:01:48 -07:00
test_user_groups.py Groups: Can perform any join, leave, add, remove for deactivated group. 2025-06-11 14:58:14 -07:00
test_user_status.py presence: Fix for last active time for invisible mode. 2025-02-26 12:51:57 -08:00
test_user_topics.py tests: Pass update_fields to all stream.save(). 2025-04-15 10:28:18 -07:00
test_users.py events: Add option to send partial data. 2025-05-19 16:58:56 -07:00
test_validators.py validator: Disable WildValue equality comparison. 2025-06-25 11:49:02 -07:00
test_webhooks_common.py integrations: Prevent logging of MissingHTTPEventHeaderError. 2025-06-06 18:06:06 -07:00
test_widgets.py ruff: Fix UP006 Use list instead of List for type annotation. 2024-07-13 22:28:22 -07:00
test_zcommand.py zcommand: Rename night->dark and day->light in the color scheme backend. 2024-06-30 22:45:26 -07:00
test_zephyr.py users: Remove unnecessary get_api_key helper. 2025-02-13 12:40:53 -08:00
test_zilencer_analytics.py test_push_notifications: Split AnalyticsBouncerTest to a separate file. 2025-04-17 10:55:05 -07:00
test_zulip_update_announcements.py zulip_updates: Add test to verify deactivated channel case. 2025-02-05 12:21:55 -08:00