Skip to content

Commit 732a726

Browse files
committed
Clear resource_type filter when leaving Learning Materials search tab
1 parent e0844ed commit 732a726

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

frontends/main/src/app-pages/SearchPage/SearchPage.test.tsx

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -491,6 +491,32 @@ describe("Search Page Tabs", () => {
491491
expect(params2.get("department")).toBe("8") // should preserve other params
492492
})
493493

494+
test("Switching from learning materials tab clears resource type only", async () => {
495+
setMockApiResponses({
496+
search: {
497+
count: 1000,
498+
metadata: {
499+
aggregations: {
500+
resource_type: [{ key: "video", doc_count: 100 }],
501+
},
502+
suggestions: [],
503+
},
504+
},
505+
})
506+
const { location } = renderWithProviders(<SearchPage />, {
507+
url: "?resource_category=learning_material&resource_type=video&topic=Biology",
508+
})
509+
const tabLM = screen.getByRole("tab", { name: /Learning Materials/ })
510+
const tabCourses = screen.getByRole("tab", { name: /Courses/ })
511+
expect(tabLM).toHaveAttribute("aria-selected")
512+
513+
// Click "Courses"
514+
await user.click(tabCourses)
515+
expect(location.current.search).toBe(
516+
"?resource_category=course&topic=Biology",
517+
)
518+
})
519+
494520
test("Tab titles show corret result counts", async () => {
495521
setMockApiResponses({
496522
search: {

frontends/main/src/page-components/SearchDisplay/ResourceCategoryTabs.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,9 @@ const ResourceCategoryTabList: React.FC<ResourceCategoryTabsProps> = ({
9494
const tab = tabs.find((t) => t.name === value)
9595
setSearchParams((prev) => {
9696
const next = new URLSearchParams(prev)
97+
if (prev.get("resource_category") === "learning_material") {
98+
next.delete("resource_type")
99+
}
97100
if (tab?.resource_category) {
98101
next.set("resource_category", tab.resource_category)
99102
} else {

0 commit comments

Comments
 (0)