discourse/spec/lib
Alan Guo Xiang Tan a473e352de
DEV: Introduce TopicGuardian#can_see_topic_ids method (#18692)
Before this commit, there was no way for us to efficiently check an
array of topics for which a user can see. Therefore, this commit
introduces the `TopicGuardian#can_see_topic_ids` method which accepts an
array of `Topic#id`s and filters out the ids which the user is not
allowed to see. The `TopicGuardian#can_see_topic_ids` method is meant to
maintain feature parity with `TopicGuardian#can_see_topic?` at all
times so a consistency check has been added in our tests to ensure that
`TopicGuardian#can_see_topic_ids` returns the same result as
`TopicGuardian#can_see_topic?`. In the near future, the plan is for us
to switch to `TopicGuardian#can_see_topic_ids` completely but I'm not
doing that in this commit as we have to be careful with the performance
impact of such a change.

This method is currently not being used in the current commit but will
be relied on in a subsequent commit.
2022-10-27 06:13:21 +08:00
..
auth DEV: Update rubocop (#18754) 2022-10-26 09:05:15 +08:00
backup_restore FIX: Backup/Restore didn't use correct Redis namespace in multisite (#18060) 2022-08-24 01:43:42 +02:00
common_passwords DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
compression SECURITY: Prevent arbitrary file write when decompressing files (#18421) 2022-09-29 20:00:38 +02:00
concern DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
content_security_policy Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
email DEV: Remove remaining hardcoded ids (#18735) 2022-10-25 15:29:09 +08:00
file_store DEV: Remove remaining hardcoded ids (#18735) 2022-10-25 15:29:09 +08:00
freedom_patches DEV: update to patched discourse-seed-fu (#18493) 2022-10-07 09:16:04 +11:00
guardian DEV: Introduce TopicGuardian#can_see_topic_ids method (#18692) 2022-10-27 06:13:21 +08:00
highlight_js Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
i18n Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
imap DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
import Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
middleware FEATURE: new site setting to set locale from cookie for anonymous users. (#18377) 2022-09-27 14:26:06 +05:30
migration Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
onebox FIX: Use only first line from commit message (#18724) 2022-10-24 22:26:48 +03:00
plugin DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
pretty_text DEV: Add specs for hashtags related code (#18526) 2022-10-11 09:04:51 +10:00
rate_limiter DEV: Automatically require 'rails_helper' in all specs (#16077) 2022-03-01 17:50:50 +00:00
scheduler Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
second_factor DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
seed_data FEATURE: Adds seeded default categories to the sidebar (#18512) 2022-10-07 16:02:03 -06:00
site_settings DEV: Rename secure_media to secure_uploads (#18376) 2022-09-29 09:24:33 +10:00
stylesheet FIX: remove `nil` items before sorting the sha1 string array. (#18571) 2022-10-13 02:43:56 +05:30
svg_sprite DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
theme_store SECURITY: Prevent arbitrary file write when decompressing files (#18421) 2022-09-29 20:00:38 +02:00
topic_query DEV: Remove usages of enable_personal_messages (#18437) 2022-10-05 10:50:20 +10:00
validators DEV: Remove remaining hardcoded ids (#18735) 2022-10-25 15:29:09 +08:00
webauthn Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
wizard FIX: do not prefill default site title value on wizard introduction step (#18496) 2022-10-06 12:02:48 +05:30
admin_confirmation_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
admin_user_index_query_spec.rb FEATURE: Introduce personal_message_enabled_groups setting (#18042) 2022-09-26 13:58:40 +10:00
archetype_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
bookmark_manager_spec.rb FIX: Do not save default auto_delete_preference for bookmark (#18119) 2022-08-30 09:21:41 +10:00
bookmark_query_spec.rb FEATURE: whispers available for groups (#17170) 2022-06-30 10:18:12 +10:00
bookmark_reminder_notification_handler_spec.rb FEATURE: Promote polymorphic bookmarks to default and migrate (#16729) 2022-05-23 10:07:15 +10:00
browser_detection_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
cache_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
category_badge_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
composer_messages_finder_spec.rb FEATURE: add composer warning when user haven't been seen in a long time (#18340) 2022-09-27 22:06:40 +05:30
content_buffer_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
content_security_policy_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
cooked_post_processor_spec.rb DEV: Rename secure_media to secure_uploads (#18376) 2022-09-29 09:24:33 +10:00
crawler_detection_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
current_user_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
db_helper_spec.rb DEV: Automatically require 'rails_helper' in all specs (#16077) 2022-03-01 17:50:50 +00:00
directory_helper_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
discourse_diff_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
discourse_event_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
discourse_hub_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
discourse_js_processor_spec.rb Build(deps): Bump @babel/standalone from 7.19.3 to 7.19.6 in /app/assets/javascripts (#18689) 2022-10-21 14:48:27 +01:00
discourse_plugin_registry_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
discourse_redis_spec.rb Revert "DEV: Upgrade Redis to 4.8" (#18099) 2022-08-26 15:16:50 +10:00
discourse_sourcemapping_url_processor_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
discourse_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
discourse_tagging_spec.rb FIX: Revert recursively tag lookup with missing ancestor tags (#18439) 2022-09-30 08:28:09 +00:00
discourse_updates_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
distributed_cache_spec.rb DEV: Make the first argument to the top-level describe a constant in specs 2022-08-08 18:07:49 +02:00
distributed_memoizer_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
distributed_mutex_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
email_cook_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
email_updater_spec.rb FEATURE: Add setting to always confirm old email (#18417) 2022-09-30 00:49:17 +03:00
ember_cli_spec.rb DEV: Add test for EmberCli#ember_version (#18140) 2022-08-30 20:33:08 +01:00
encodings_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
enum_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
excerpt_parser_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
feed_element_installer_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
feed_item_accessor_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
file_helper_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
filter_best_posts_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
final_destination_spec.rb FIX: Swallow SSL errors when generating oneboxes 2022-08-09 16:54:45 +02:00
flag_settings_spec.rb DEV: Automatically require 'rails_helper' in all specs (#16077) 2022-03-01 17:50:50 +00:00
gaps_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
global_path_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
group_email_credentials_check_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
guardian_spec.rb DEV: Introduce TopicGuardian#can_see_topic_ids method (#18692) 2022-10-27 06:13:21 +08:00
has_errors_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
hijack_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
html_prettify_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
html_to_markdown_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
image_sizer_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
inline_oneboxer_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
js_locale_helper_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
json_error_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
letter_avatar_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
message_id_service_spec.rb FEATURE: Overhaul email threading (#17996) 2022-09-26 09:14:24 +10:00
method_profiler_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
mini_sql_multisite_connection_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
mobile_detection_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
new_post_manager_spec.rb DEV: Remove usages of enable_personal_messages (#18437) 2022-10-05 10:50:20 +10:00
new_post_result_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
onebox_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
oneboxer_spec.rb DEV: Fix busted twitter onebox spec (#18009) 2022-08-20 11:19:19 +02:00
onpdiff_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
pbkdf2_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
pinned_check_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
plain_text_to_markdown_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
post_action_creator_spec.rb FEATURE: Introduce personal_message_enabled_groups setting (#18042) 2022-09-26 13:58:40 +10:00
post_action_destroyer_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
post_creator_spec.rb DEV: Remove usages of enable_personal_messages (#18437) 2022-10-05 10:50:20 +10:00
post_destroyer_spec.rb DEV: Use AR enums in reviewables related code 2022-09-22 14:44:27 +02:00
post_jobs_enqueuer_spec.rb DEV: Automatically require 'rails_helper' in all specs (#16077) 2022-03-01 17:50:50 +00:00
post_locker_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
post_merger_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
post_revisor_spec.rb FIX: Skip all post validations if necessary (#18625) 2022-10-19 18:54:32 +03:00
presence_channel_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
pretty_text_spec.rb A11Y: Set role=presentation if alt attr is missing (#18546) 2022-10-12 14:07:37 +03:00
promotion_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
quote_comparer_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
rate_limiter_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
retrieve_title_spec.rb FIX: ignore malformed HTML for title extraction (#18040) 2022-08-23 15:03:57 +10:00
rtl_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
s3_cors_rulesets_spec.rb DEV: Automatically require 'rails_helper' in all specs (#16077) 2022-03-01 17:50:50 +00:00
s3_helper_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
s3_inventory_multisite_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
s3_inventory_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
score_calculator_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
scss_checker_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
search_spec.rb DEV: Remove usages of enable_personal_messages (#18437) 2022-10-05 10:50:20 +10:00
secure_session_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
shrink_uploaded_image_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
site_icon_manager_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
site_setting_extension_multisite_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
site_setting_extension_spec.rb DEV: Remove remaining hardcoded ids (#18735) 2022-10-25 15:29:09 +08:00
slug_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
spam_handler_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
suggested_topics_builder_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
system_message_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
text_cleaner_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
text_sentinel_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
theme_flag_modifier_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
theme_javascript_compiler_spec.rb DEV: Apply theme template transforms to colocated components (#18704) 2022-10-21 19:05:34 +01:00
theme_settings_manager_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
theme_settings_parser_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
timeline_lookup_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
tiny_japanese_segmenter_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
topic_creator_spec.rb DEV: Remove usages of enable_personal_messages (#18437) 2022-10-05 10:50:20 +10:00
topic_publisher_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
topic_query_spec.rb DEV: Remove usages of enable_personal_messages (#18437) 2022-10-05 10:50:20 +10:00
topic_retriever_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
topic_upload_security_manager_spec.rb DEV: Rename secure_media to secure_uploads (#18376) 2022-09-29 09:24:33 +10:00
topic_view_spec.rb DEV: Remove harded id when fabricating in tests (#18729) 2022-10-25 06:18:40 +08:00
topics_bulk_action_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
trashable_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
trust_level_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
twitter_api_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
unread_spec.rb DEV: Remove remaining hardcoded ids (#18735) 2022-10-25 15:29:09 +08:00
upload_creator_spec.rb DEV: Rename secure_media to secure_uploads (#18376) 2022-09-29 09:24:33 +10:00
upload_markdown_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
upload_recovery_spec.rb DEV: Rename secure_media to secure_uploads (#18376) 2022-09-29 09:24:33 +10:00
upload_security_spec.rb DEV: Rename secure_media to secure_uploads (#18376) 2022-09-29 09:24:33 +10:00
url_helper_spec.rb DEV: Rename secure_media to secure_uploads (#18376) 2022-09-29 09:24:33 +10:00
user_comm_screener_spec.rb FIX: Handle actor not having preferences in UserCommScreener (#17790) 2022-08-04 10:16:54 +10:00
user_lookup_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
user_name_suggester_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
version_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00