forked from vikunja/vikunja
fix: sort reminders
This commit is contained in:
parent
e5cec4bd16
commit
3c4fb76554
|
@ -1556,6 +1556,10 @@ func (t *Task) updateReminders(s *xorm.Session, reminders []*TaskReminder, dueDa
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// sort reminders
|
||||||
|
sort.Slice(t.Reminders, func(i, j int) bool {
|
||||||
|
return t.Reminders[i].Reminder.Before(t.Reminders[j].Reminder)
|
||||||
|
})
|
||||||
|
|
||||||
if len(reminders) == 0 {
|
if len(reminders) == 0 {
|
||||||
t.Reminders = nil
|
t.Reminders = nil
|
||||||
|
|
|
@ -79,9 +79,9 @@ func TestTask_Create(t *testing.T) {
|
||||||
Title: "Lorem",
|
Title: "Lorem",
|
||||||
Description: "Lorem Ipsum Dolor",
|
Description: "Lorem Ipsum Dolor",
|
||||||
ListID: 1,
|
ListID: 1,
|
||||||
DueDate: time.Unix(1550000000, 0),
|
DueDate: time.Date(2023, time.March, 7, 22, 5, 0, 0, time.Local),
|
||||||
StartDate: time.Unix(1550000010, 0),
|
StartDate: time.Date(2023, time.March, 7, 22, 5, 10, 0, time.Local),
|
||||||
EndDate: time.Unix(1550000020, 0),
|
EndDate: time.Date(2023, time.March, 7, 22, 5, 20, 0, time.Local),
|
||||||
Reminders: []*TaskReminder{
|
Reminders: []*TaskReminder{
|
||||||
{
|
{
|
||||||
RelativeTo: "due_date",
|
RelativeTo: "due_date",
|
||||||
|
@ -96,15 +96,15 @@ func TestTask_Create(t *testing.T) {
|
||||||
RelativePeriod: -1,
|
RelativePeriod: -1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Reminder: time.Unix(1550000020, 0),
|
Reminder: time.Date(2023, time.March, 7, 23, 0, 0, 0, time.Local),
|
||||||
},
|
},
|
||||||
}}
|
}}
|
||||||
err := task.Create(s, usr)
|
err := task.Create(s, usr)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Equal(t, task.Reminders[0].Reminder, time.Unix(1550000001, 0))
|
assert.Equal(t, time.Date(2023, time.March, 7, 22, 5, 1, 0, time.Local), task.Reminders[0].Reminder)
|
||||||
assert.Equal(t, task.Reminders[1].Reminder, time.Unix(1550000008, 0))
|
assert.Equal(t, time.Date(2023, time.March, 7, 22, 5, 8, 0, time.Local), task.Reminders[1].Reminder)
|
||||||
assert.Equal(t, task.Reminders[2].Reminder, time.Unix(1550000019, 0))
|
assert.Equal(t, time.Date(2023, time.March, 7, 22, 5, 19, 0, time.Local), task.Reminders[2].Reminder)
|
||||||
assert.Equal(t, task.Reminders[3].Reminder, time.Unix(1550000020, 0))
|
assert.Equal(t, time.Date(2023, time.March, 7, 23, 0, 0, 0, time.Local), task.Reminders[3].Reminder)
|
||||||
err = s.Commit()
|
err = s.Commit()
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
})
|
})
|
||||||
|
@ -416,9 +416,9 @@ func TestTask_Update(t *testing.T) {
|
||||||
ID: 1,
|
ID: 1,
|
||||||
ListID: 1,
|
ListID: 1,
|
||||||
Title: "test",
|
Title: "test",
|
||||||
DueDate: time.Unix(1550000000, 0),
|
DueDate: time.Date(2023, time.March, 7, 22, 5, 0, 0, time.Local),
|
||||||
StartDate: time.Unix(1550000010, 0),
|
StartDate: time.Date(2023, time.March, 7, 22, 5, 10, 0, time.Local),
|
||||||
EndDate: time.Unix(1550000020, 0),
|
EndDate: time.Date(2023, time.March, 7, 22, 5, 20, 0, time.Local),
|
||||||
Reminders: []*TaskReminder{
|
Reminders: []*TaskReminder{
|
||||||
{
|
{
|
||||||
RelativeTo: "due_date",
|
RelativeTo: "due_date",
|
||||||
|
@ -433,16 +433,15 @@ func TestTask_Update(t *testing.T) {
|
||||||
RelativePeriod: -1,
|
RelativePeriod: -1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Reminder: time.Unix(1550000020, 0),
|
Reminder: time.Date(2023, time.March, 7, 23, 0, 0, 0, time.Local),
|
||||||
},
|
},
|
||||||
},
|
}}
|
||||||
}
|
|
||||||
err := task.Update(s, u)
|
err := task.Update(s, u)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Equal(t, task.Reminders[0].Reminder, time.Unix(1550000001, 0))
|
assert.Equal(t, time.Date(2023, time.March, 7, 22, 5, 1, 0, time.Local), task.Reminders[0].Reminder)
|
||||||
assert.Equal(t, task.Reminders[1].Reminder, time.Unix(1550000008, 0))
|
assert.Equal(t, time.Date(2023, time.March, 7, 22, 5, 8, 0, time.Local), task.Reminders[1].Reminder)
|
||||||
assert.Equal(t, task.Reminders[2].Reminder, time.Unix(1550000019, 0))
|
assert.Equal(t, time.Date(2023, time.March, 7, 22, 5, 19, 0, time.Local), task.Reminders[2].Reminder)
|
||||||
assert.Equal(t, task.Reminders[3].Reminder, time.Unix(1550000020, 0))
|
assert.Equal(t, time.Date(2023, time.March, 7, 23, 0, 0, 0, time.Local), task.Reminders[3].Reminder)
|
||||||
err = s.Commit()
|
err = s.Commit()
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
db.AssertCount(t, "task_reminders", builder.Eq{"task_id": 1}, 4)
|
db.AssertCount(t, "task_reminders", builder.Eq{"task_id": 1}, 4)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user