diff --git a/__tests__/components/user/collected/filters/UserPageCollectedFilters.test.tsx b/__tests__/components/user/collected/filters/UserPageCollectedFilters.test.tsx index 04ca2ead4d..a54b6d6f04 100644 --- a/__tests__/components/user/collected/filters/UserPageCollectedFilters.test.tsx +++ b/__tests__/components/user/collected/filters/UserPageCollectedFilters.test.tsx @@ -17,10 +17,35 @@ import { } from "@testing-library/react"; import { RefObject } from "react"; +jest.mock("@/components/nft-transfer/TransferToggle", () => { + return function MockTransferToggle() { + return
Transfer Toggle
; + }; +}); + +jest.mock("@/components/utils/select/CommonSelect", () => { + return { + __esModule: true, + default: function MockCommonSelect({ + activeItem, + setSelected, + filterLabel, + }: any) { + return ( +
+ +
+ ); + }, + }; +}); + jest.mock( - "@/components/user/collected/filters/UserPageCollectedFiltersCollection", + "@/components/user/collected/filters/UserPageCollectedFiltersNativeDropdown", () => { - return function MockUserPageCollectedFiltersCollection({ + return function MockUserPageCollectedFiltersNativeDropdown({ selected, setSelected, }: any) { @@ -36,6 +61,25 @@ jest.mock( } ); +jest.mock( + "@/components/user/collected/filters/UserPageCollectedFiltersNetworkCollection", + () => { + return function MockUserPageCollectedFiltersNetworkCollection({ + selected, + setSelected, + }: any) { + return ( +
+ + Current: {selected || "none"} +
+ ); + }; + } +); + jest.mock( "@/components/user/collected/filters/UserPageCollectedFiltersSortBy", () => { @@ -112,28 +156,33 @@ jest.mock( jest.mock( "@/components/user/collected/filters/user-page-collected-filters.helpers", - () => ({ - COLLECTED_COLLECTIONS_META: { - [CollectedCollectionType.MEMES]: { - filters: { - seized: true, - szn: true, + () => { + const { CollectedCollectionType } = jest.requireActual( + "@/entities/IProfile" + ); + return { + COLLECTED_COLLECTIONS_META: { + [CollectedCollectionType.MEMES]: { + filters: { + seized: true, + szn: true, + }, }, - }, - [CollectedCollectionType.GRADIENTS]: { - filters: { - seized: false, - szn: false, + [CollectedCollectionType.GRADIENTS]: { + filters: { + seized: false, + szn: false, + }, }, - }, - [CollectedCollectionType.NETWORK]: { - filters: { - seized: false, - szn: false, + [CollectedCollectionType.NETWORK]: { + filters: { + seized: false, + szn: false, + }, }, }, - }, - }) + }; + } ); Object.defineProperty(globalThis, "matchMedia", { diff --git a/components/user/collected/UserPageCollected.tsx b/components/user/collected/UserPageCollected.tsx index fb29303dba..7ef2498a3a 100644 --- a/components/user/collected/UserPageCollected.tsx +++ b/components/user/collected/UserPageCollected.tsx @@ -390,10 +390,15 @@ export default function UserPageCollected({ await updateFields(items); }; - useEffect( - () => setFilters(getFilters()), - [searchParams, profile, user, connectedAddress, getFilters] - ); + useEffect(() => { + setFilters((prev) => { + const newFilters = getFilters(); + if (prev.szn && newFilters.initialSznId === prev.szn.id) { + return { ...newFilters, szn: prev.szn }; + } + return newFilters; + }); + }, [searchParams, profile, user, connectedAddress, getFilters]); const { isFetching,