From 399dc8fce03ceac472fae37fb8a0099f72ac2aad Mon Sep 17 00:00:00 2001 From: kolaente Date: Thu, 27 Aug 2026 16:11:15 +0200 Subject: [PATCH] test(views): cover restoring persisted sort into the url query --- frontend/src/composables/useTaskList.test.ts | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/frontend/src/composables/useTaskList.test.ts b/frontend/src/composables/useTaskList.test.ts index fe917ff36..084853df2 100644 --- a/frontend/src/composables/useTaskList.test.ts +++ b/frontend/src/composables/useTaskList.test.ts @@ -114,3 +114,29 @@ describe('useTaskList sort handling for relevance ranking', () => { expect(params.order_by).toEqual(['desc']) }) }) + +describe('useTaskList restoring stored query into the url', () => { + beforeEach(() => { + localStorage.clear() + setActivePinia(createPinia()) + getAll.mockClear() + }) + + it('writes the persisted sort into the url when the url has none', async () => { + localStorage.setItem('viewFilters', JSON.stringify({1: {sort: 'due_date:asc'}})) + + const router = await mountTaskList({}) + await flushPromises() + + expect(router.currentRoute.value.query.sort).toBe('due_date:asc') + expect(lastRequestParams().sort_by).toEqual(['due_date']) + }) + + it('keeps an explicit url sort over the persisted one', async () => { + localStorage.setItem('viewFilters', JSON.stringify({1: {sort: 'due_date:asc'}})) + + const router = await mountTaskList({sort: 'title:desc'}) + + expect(router.currentRoute.value.query.sort).toBe('title:desc') + }) +})