diff --git a/src/app/features/tasks/store/task.reducer.spec.ts b/src/app/features/tasks/store/task.reducer.spec.ts index f61d3ab78a..ead691b638 100644 --- a/src/app/features/tasks/store/task.reducer.spec.ts +++ b/src/app/features/tasks/store/task.reducer.spec.ts @@ -6,6 +6,7 @@ import { TaskSharedActions } from '../../../root-store/meta/task-shared.actions' import { INBOX_PROJECT } from '../../project/project.const'; import { TimeTrackingActions } from '../../time-tracking/store/time-tracking.actions'; import { _resetDevErrorState } from '../../../util/dev-error'; +import { PlannerActions } from '../../planner/store/planner.actions'; describe('Task Reducer', () => { const createTask = (id: string, partial: Partial = {}): Task => ({ @@ -832,4 +833,32 @@ describe('Task Reducer', () => { expect(state.currentTaskId).toBeNull(); }); }); + + describe('PlannerActions.planTaskForDay', () => { + it('should clear remindAt when rescheduling a task', () => { + const taskWithReminder = createTask('task-remind', { + remindAt: Date.now() - 60000, + dueDay: '2024-01-01', + }); + const stateWithReminder: TaskState = { + ...initialTaskState, + ids: ['task-remind'], + entities: { + 'task-remind': taskWithReminder, + }, + currentTaskId: null, + }; + + const action = PlannerActions.planTaskForDay({ + task: taskWithReminder, + day: '2024-01-02', + }); + + const result = taskReducer(stateWithReminder, action); + + expect(result.entities['task-remind']!.remindAt).toBeUndefined(); + expect(result.entities['task-remind']!.dueDay).toBe('2024-01-02'); + expect(result.entities['task-remind']!.dueWithTime).toBeUndefined(); + }); + }); }); diff --git a/src/app/features/tasks/store/task.reducer.ts b/src/app/features/tasks/store/task.reducer.ts index 7274b177fe..5fde596465 100644 --- a/src/app/features/tasks/store/task.reducer.ts +++ b/src/app/features/tasks/store/task.reducer.ts @@ -669,6 +669,7 @@ export const taskReducer = createReducer( changes: { dueDay: day, dueWithTime: undefined, + remindAt: undefined, }, }, state,