diff --git a/app/assets/javascripts/discourse/app/lib/sidebar/user/categories-section/category-section-link.js b/app/assets/javascripts/discourse/app/lib/sidebar/user/categories-section/category-section-link.js index 8af34cdb3fd..4cdd34bc946 100644 --- a/app/assets/javascripts/discourse/app/lib/sidebar/user/categories-section/category-section-link.js +++ b/app/assets/javascripts/discourse/app/lib/sidebar/user/categories-section/category-section-link.js @@ -37,7 +37,7 @@ export default class CategorySectionLink { } get currentWhen() { - return "discovery.unreadCategory discovery.topCategory discovery.newCategory discovery.latestCategory discovery.category"; + return "discovery.unreadCategory discovery.topCategory discovery.newCategory discovery.latestCategory discovery.category discovery.categoryNone discovery.categoryAll"; } get title() { diff --git a/app/assets/javascripts/discourse/tests/acceptance/sidebar-user-categories-section-test.js b/app/assets/javascripts/discourse/tests/acceptance/sidebar-user-categories-section-test.js index cdf51c82cbc..96656d8cf10 100644 --- a/app/assets/javascripts/discourse/tests/acceptance/sidebar-user-categories-section-test.js +++ b/app/assets/javascripts/discourse/tests/acceptance/sidebar-user-categories-section-test.js @@ -78,6 +78,12 @@ acceptance("Sidebar - Logged on user - Categories Section", function (needs) { }); }); + server.get(`/c/:categorySlug/:categoryId/none/l/latest.json`, () => { + return helper.response( + cloneJSON(discoveryFixture["/c/bug/1/l/latest.json"]) + ); + }); + server.get("/c/:categorySlug/:categoryId/find_by_slug.json", () => { return helper.response(cloneJSON(categoryFixture["/c/1/show.json"])); }); @@ -355,6 +361,40 @@ acceptance("Sidebar - Logged on user - Categories Section", function (needs) { ); }); + test("visiting category discovery no subcategoriees route", async function (assert) { + const { category1 } = setupUserSidebarCategories(); + + await visit(`/c/${category1.slug}/${category1.id}/none`); + + assert.strictEqual( + count(".sidebar-section-categories .sidebar-section-link.active"), + 1, + "only one link is marked as active" + ); + + assert.ok( + exists(`.sidebar-section-link-${category1.slug}.active`), + "the category1 section link is marked as active for the none route" + ); + }); + + test("visiting category discovery includes all subcategories route", async function (assert) { + const { category1 } = setupUserSidebarCategories(); + + await visit(`/c/${category1.slug}/${category1.id}/all`); + + assert.strictEqual( + count(".sidebar-section-categories .sidebar-section-link.active"), + 1, + "only one link is marked as active" + ); + + assert.ok( + exists(`.sidebar-section-link-${category1.slug}.active`), + "the category1 section link is marked as active for the all route" + ); + }); + test("new and unread count for categories link", async function (assert) { const { category1, category2 } = setupUserSidebarCategories();