From cf92604e3ad971c2beb9d48fe0072567ff809701 Mon Sep 17 00:00:00 2001 From: austinried <4966622+austinried@users.noreply.github.com> Date: Tue, 29 Sep 2026 07:12:13 +0000 Subject: [PATCH] pin down that each tab keeps its own list query --- .../data/prefs/UserPreferencesTest.kt | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/app/src/test/kotlin/com/subtracks/data/prefs/UserPreferencesTest.kt b/app/src/test/kotlin/com/subtracks/data/prefs/UserPreferencesTest.kt index 0676e99d..635663e0 100644 --- a/app/src/test/kotlin/com/subtracks/data/prefs/UserPreferencesTest.kt +++ b/app/src/test/kotlin/com/subtracks/data/prefs/UserPreferencesTest.kt @@ -45,6 +45,30 @@ class UserPreferencesTest { file.delete() } + @Test + fun everyTabsListQueryIsKeptIndependently() = + runTest { + val file = File.createTempFile("user-prefs", ".preferences_pb").apply { delete() } + val store = PreferenceDataStoreFactory.create(scope = backgroundScope) { file } + val prefs = UserPreferences(store) + + prefs.setListQuery(LibraryListTab.Albums, ListQuery("Added", descending = true, downloaded = true)) + prefs.setListQuery(LibraryListTab.Artists, ListQuery("AlbumCount", starred = StarredFilter.NotStarred)) + prefs.setListQuery(LibraryListTab.Playlists, ListQuery("Updated", descending = true)) + + assertEquals( + ListQuery("Added", descending = true, downloaded = true), + prefs.listQuery(LibraryListTab.Albums).first(), + ) + assertEquals( + ListQuery("AlbumCount", starred = StarredFilter.NotStarred), + prefs.listQuery(LibraryListTab.Artists).first(), + ) + assertEquals(ListQuery("Updated", descending = true), prefs.listQuery(LibraryListTab.Playlists).first()) + + file.delete() + } + @Test fun theSelectedLibraryTabRoundTrips() = runTest {