From bfcc0c99290d9251939d77788c9e9b51f167ccb7 Mon Sep 17 00:00:00 2001 From: 4gray Date: Fri, 15 May 2026 21:24:57 +0200 Subject: [PATCH] test(playlist): cover disabled auto-refresh preservation --- .../lib/reducers/playlist.reducers.spec.ts | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/libs/m3u-state/src/lib/reducers/playlist.reducers.spec.ts b/libs/m3u-state/src/lib/reducers/playlist.reducers.spec.ts index 21f6f5e76..89b9e61a0 100644 --- a/libs/m3u-state/src/lib/reducers/playlist.reducers.spec.ts +++ b/libs/m3u-state/src/lib/reducers/playlist.reducers.spec.ts @@ -164,4 +164,38 @@ describe('playlistReducers', () => { nextState.playlists.entities['playlist-1']?.autoRefresh ).toBe(true); }); + + it('keeps autoRefresh disabled on playlist refresh when the existing playlist has it disabled', () => { + const existingPlaylist: PlaylistMeta = { + _id: 'playlist-1', + autoRefresh: false, + count: 1, + importDate: '2026-03-28T00:00:00.000Z', + title: 'Playlist One', + } as PlaylistMeta; + const state = { + ...initialState, + playlists: playlistsAdapter.addOne(existingPlaylist, { + ...initialState.playlists, + selectedId: 'playlist-1', + }), + }; + + const nextState = reducer( + state, + PlaylistActions.updatePlaylist({ + playlist: { + autoRefresh: true, + playlist: { + items: [], + }, + } as Playlist, + playlistId: 'playlist-1', + }) + ); + + expect( + nextState.playlists.entities['playlist-1']?.autoRefresh + ).toBe(false); + }); });