discourse/spec/requests
Yuriy Kurant 1182c41d14
FIX: subcategory filter should be always visible on category view page (#36050)
Fixes the issue where the subcategory filter would disappear when
transitioning between category view and edit routes.

### Context

The subcategory filter visibility depends on `has_children` value that
wasn't set properly.

The changes were applied in two major parts:

1. Rails: When visiting edit category route, `has_children` property was
missing in the returned data. It is set by
`Category.preload_user_fields` method, which was not called in
`find_by_slug` and `update` endpoints.

2. Ember: After category changes were saved, the readonly properties,
like `has_children` and `subcategories_count`, were not propagated to
the UI view in order to reflect the updated category model, specifically
in breadcrumbs.

### Changes

* added `Category.preload_user_fields!` call in
`CategoriesController#find_by_slug` and `CategoriesController#update` to
ensure `has_children` amongst others (see `def preload_user_fields`) is
assigned a correct value
* added distinguishing CSS classes
(`category-breadcrumb__category-selector` and
`category-breadcrumb__subcategory-selector`) to the breadcrumb selectors
* added system test to verify that category and subcategory filter
selections persist correctly across route transitions (visiting edit and
returning to the category view page)

For more related context #31795 and #26608.

The logged issue at:
https://meta.discourse.org/t/subcategory-filter-disappears-on-none/386648.
2025-11-17 22:48:33 +08:00
..
admin FEATURE: Upcoming changes part 1 (#34617) 2025-10-30 10:46:14 +10:00
api DEV: Add auto_track param to POST /posts.json (#34597) 2025-11-10 16:48:44 +08:00
examples
about_controller_spec.rb FIX: crawler view with unicode usernames (#27051) 2024-05-16 17:11:24 +02:00
application_controller_spec.rb FIX: Do not change language for logged in user when tl is present (#35942) 2025-11-11 11:20:23 +08:00
associate_accounts_controller_spec.rb DEV: add shortcut fab!(:variable, :fabricator) to specs (#33577) 2025-07-11 11:16:34 -03:00
badges_controller_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
bookmarks_controller_spec.rb DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
categories_controller_spec.rb FIX: subcategory filter should be always visible on category view page (#36050) 2025-11-17 22:48:33 +08:00
clicks_controller_spec.rb
composer_controller_spec.rb DEV: add shortcut fab!(:variable, :fabricator) to specs (#33577) 2025-07-11 11:16:34 -03:00
composer_messages_controller_spec.rb DEV: remove educational tips and associated site settings (#33012) 2025-06-03 09:44:35 +04:00
crawler_hreflang_spec.rb FEATURE: Append locale to links in crawler view if present (#34466) 2025-08-22 08:46:33 +08:00
csp_reports_controller_spec.rb DEV: Don’t replace Rails logger in specs (#29721) 2024-11-13 08:47:39 +08:00
default_headers_spec.rb DEV: Disallow the use of Rails.logger= in RSpec tests (#31920) 2025-03-21 08:48:38 +08:00
directory_columns_controller_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
directory_items_controller_spec.rb FIX: Allow user directory searches to return more than 20 matching results (#31032) 2025-01-29 11:02:42 -04:00
discourse_id_controller_spec.rb DEV: Add validator for enable_discourse_id setting (#33710) 2025-07-21 08:18:36 -04:00
do_not_disturb_controller_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
drafts_controller_spec.rb FEATURE: Bulk select posts and delete drafts (#34972) 2025-09-29 12:47:54 -07:00
edit_directory_columns_controller_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
email_controller_spec.rb DEV: add shortcut fab!(:variable, :fabricator) to specs (#33577) 2025-07-11 11:16:34 -03:00
embed_controller_spec.rb DEV: add shortcut fab!(:variable, :fabricator) to specs (#33577) 2025-07-11 11:16:34 -03:00
emojis_controller_spec.rb DEV: add shortcut fab!(:variable, :fabricator) to specs (#33577) 2025-07-11 11:16:34 -03:00
exceptions_controller_spec.rb
export_csv_controller_spec.rb DEV: add shortcut fab!(:variable, :fabricator) to specs (#33577) 2025-07-11 11:16:34 -03:00
extra_locales_controller_spec.rb DEV: Switch to type="module" for translation files (#33126) 2025-06-09 13:13:42 +01:00
finish_installation_controller_spec.rb DEV: Improve error message when test fails (#25067) 2023-12-29 12:44:41 +08:00
form_templates_controller_spec.rb DEV: add shortcut fab!(:variable, :fabricator) to specs (#33577) 2025-07-11 11:16:34 -03:00
forums_controller_spec.rb FIX: improve "read only" modes (#33521) 2025-07-10 09:08:00 +02:00
groups_controller_spec.rb DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
hashtags_controller_spec.rb DEV: add tag hashtag data source style type (#33289) 2025-06-20 18:08:47 +04:00
highlightjs_controller_spec.rb DEV: Simplify CORS logic for public asset routes (#33106) 2025-06-09 08:58:27 +01:00
home_page_controller_spec.rb DEV: Add site description to crawler homepage view (#32845) 2025-05-22 08:33:59 +10:00
inline_onebox_controller_spec.rb SECURITY: Limit /inline-onebox to 10 URLs at a time 2025-02-04 13:32:53 -03:00
invites_controller_spec.rb DEV: Move more data into the server session (#35145) 2025-10-03 10:20:32 +02:00
list_controller_spec.rb DEV: Add configurable limit for page param in TopicQuery (#34728) 2025-09-04 12:20:44 -04:00
metadata_controller_spec.rb SECURITY: Error responses missing Cache-Control header 2025-10-28 14:40:41 +08:00
net_http_header_spec.rb DEV: Add a user agent to all HTTP requests that Discourse makes. (#31555) 2025-03-03 16:32:25 +11:00
net_http_timeout_spec.rb FIX: Set sane default for Net::HTTP when processing a request (#28141) 2024-08-06 07:12:42 +08:00
noscript_escape_spec.rb SECURITY: Properly escape user content within <noscript> 2024-01-30 09:10:09 -07:00
notifications_controller_spec.rb FEATURE: Localize topic titles in notifications and bookmarks (#34059) 2025-08-05 12:12:22 +08:00
offline_controller_spec.rb
omniauth_callbacks_controller_spec.rb FIX: Don’t store return path in the session 2025-09-19 10:05:20 +02:00
onebox_controller_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
permalinks_controller_spec.rb FIX: Permalink.create didn't work as expected anymore (#29895) 2024-11-22 21:11:26 +01:00
post_action_users_controller_spec.rb FIX: likes are not visible when rejecting PMs (#35753) 2025-11-03 16:23:32 +11:00
post_actions_controller_spec.rb DEV: Remove full group refreshes from tests (#25414) 2024-01-25 14:28:26 +08:00
post_localizations_controller_spec.rb DEV: Remove 'experimental' prefix from settings (#33233) 2025-06-19 12:23:42 +08:00
post_readers_controller_spec.rb DEV: add shortcut fab!(:variable, :fabricator) to specs (#33577) 2025-07-11 11:16:34 -03:00
posts_controller_spec.rb FIX: Allow reverting topic revisions with only tag changes (#34169) 2025-09-18 18:26:52 -07:00
presence_controller_spec.rb DEV: Call Discourse.redis.flushdb after the end of each test (#29117) 2024-10-09 07:19:31 +08:00
published_pages_controller_spec.rb DEV: add shortcut fab!(:variable, :fabricator) to specs (#33577) 2025-07-11 11:16:34 -03:00
push_notification_controller_spec.rb DEV: Allow fab! without block (#24314) 2023-11-09 16:47:59 -06:00
qunit_controller_spec.rb DEV: Rename theme-transpiler to asset-processor (#35498) 2025-10-20 14:16:46 +01:00
reviewable_claimed_topics_controller_spec.rb DEV: add shortcut fab!(:variable, :fabricator) to specs (#33577) 2025-07-11 11:16:34 -03:00
reviewable_notes_controller_spec.rb DEV: add shortcut fab!(:variable, :fabricator) to specs (#33577) 2025-07-11 11:16:34 -03:00
reviewables_controller_spec.rb FEATURE: Update the ReviewableUser UI for the review queue refresh. (#35515) 2025-10-29 08:54:08 +08:00
robots_txt_controller_spec.rb
safe_mode_controller_spec.rb DEV: Compile 'common' CSS into own assets (#31416) 2025-05-01 10:44:49 +01:00
search_controller_spec.rb FIX: Respect show_original for search results (#36042) 2025-11-17 12:06:08 +08:00
session_controller_spec.rb DEV: Finish renaming secure_session to server_session 2025-09-23 10:35:02 +02:00
sidebar_sections_controller_spec.rb FIX: Sidebar messages link updates (#33444) 2025-07-07 11:55:39 +08:00
similar_topics_controller_spec.rb DEV: Remove full group refreshes from tests (#25414) 2024-01-25 14:28:26 +08:00
site_controller_spec.rb DEV: Introduce stylelint (#29852) 2025-01-20 15:27:42 +00:00
sitemap_controller_spec.rb DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
slugs_controller_spec.rb DEV: add shortcut fab!(:variable, :fabricator) to specs (#33577) 2025-07-11 11:16:34 -03:00
static_controller_spec.rb DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
steps_controller_spec.rb FEATURE: Localize language names (#33790) 2025-07-29 11:48:45 +08:00
stylesheets_controller_spec.rb DEV: Fix test incorrectly removing stylesheet cache of other processes (#25103) 2024-01-03 13:15:35 +08:00
svg_sprite_controller_spec.rb DEV: enable raise_error in test envs for deprecated icons in svg_sprite.rb (#30980) 2025-02-04 21:21:20 +08:00
tag_groups_controller_spec.rb DEV: add shortcut fab!(:variable, :fabricator) to specs (#33577) 2025-07-11 11:16:34 -03:00
tags_controller_spec.rb FIX: csv import not being casing aware for tag groups (#35837) 2025-11-10 11:34:23 -03:00
theme_javascripts_controller_spec.rb DEV: Use rollup for theme JS compilation (#33103) 2025-07-25 12:02:29 +01:00
topic_localizations_controller_spec.rb DEV: Remove 'experimental' prefix from settings (#33233) 2025-06-19 12:23:42 +08:00
topic_view_stats_controller_spec.rb FEATURE: topic_view_stats table with daily fidelity (#27197) 2024-05-27 15:25:32 +10:00
topics_controller_spec.rb FIX: Do not change language for logged in user when tl is present (#35942) 2025-11-11 11:20:23 +08:00
uploads_controller_multisite_spec.rb DEV: Upgrade Rails to version 7.1 2024-07-04 10:58:21 +02:00
uploads_controller_spec.rb FEATURE: managed auth can override avatars (#34123) 2025-09-02 12:49:43 -04:00
user_actions_controller_spec.rb DEV: add shortcut fab!(:variable, :fabricator) to specs (#33577) 2025-07-11 11:16:34 -03:00
user_api_key_clients_controller_spec.rb Add user api key client rate limit settings (#30402) 2024-12-30 11:10:48 -05:00
user_api_keys_controller_spec.rb Require permitted scopes when registering a client (#29718) 2024-11-19 15:28:04 -05:00
user_avatars_controller_spec.rb
user_badges_controller_spec.rb FIX: error when trying to un-favorite badge (#32369) 2025-04-22 15:36:48 +08:00
user_status_controller_spec.rb DEV: discourse-emojis gem (#31408) 2025-03-03 13:09:08 +01:00
users_controller_spec.rb DEV: Update rubocop-discourse to 3.13 and autofix issues (#35073) 2025-10-06 16:11:01 +02:00
users_email_controller_spec.rb DEV: add shortcut fab!(:variable, :fabricator) to specs (#33577) 2025-07-11 11:16:34 -03:00
webhooks_controller_spec.rb FIX: improve "read only" modes (#33521) 2025-07-10 09:08:00 +02:00
wizard_controller_spec.rb DEV: Fix various spec linting issues (#24672) 2023-12-04 13:45:19 +01:00