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') + }) +})