Add configurable due time suggestions
This commit is contained in:
@@ -392,8 +392,42 @@ class NavigationAndLayoutTests(TestCase):
|
||||
response = self.client.get(reverse('settings'))
|
||||
preferences = response.content.decode().split('id="preferences"', 1)[1].split('name="due_first"', 1)[0]
|
||||
self.assertEqual(preferences.count('<div class="col-12"><label class="form-label">'), 2)
|
||||
self.assertContains(response, 'name="due_time_suggestions"')
|
||||
self.assertNotContains(response, 'name="default_item_kind"')
|
||||
|
||||
def test_default_due_time_suggestions_use_half_hour_steps(self):
|
||||
item = Item.objects.create(owner=self.user, kind=Item.Kind.TODO, content='Timed')
|
||||
|
||||
response = self.client.get(reverse('edit_item', args=[item.id]))
|
||||
|
||||
self.assertContains(response, '<option value="08:00">')
|
||||
self.assertContains(response, '<option value="08:30">')
|
||||
self.assertContains(response, '<option value="23:30">')
|
||||
|
||||
def test_custom_due_time_suggestions_are_used_in_edit_forms(self):
|
||||
self.preferences.due_time_suggestions = '08:00 Morgen\n12:00 Mittag\n17:30 Abend'
|
||||
self.preferences.save(update_fields=['due_time_suggestions'])
|
||||
item = Item.objects.create(owner=self.user, kind=Item.Kind.TODO, content='Timed')
|
||||
|
||||
response = self.client.get(reverse('edit_item', args=[item.id]))
|
||||
|
||||
self.assertContains(response, '<option value="08:00" label="Morgen">')
|
||||
self.assertContains(response, '<option value="12:00" label="Mittag">')
|
||||
self.assertNotContains(response, '<option value="08:30">')
|
||||
|
||||
def test_due_time_field_still_accepts_custom_time(self):
|
||||
item = Item.objects.create(owner=self.user, kind=Item.Kind.TODO, content='Timed')
|
||||
due_date = timezone.localdate().isoformat()
|
||||
|
||||
response = self.client.post(reverse('edit_item', args=[item.id]), {
|
||||
'content': item.content, 'comment': '', 'visibility': Item.Visibility.PRIVATE,
|
||||
'due_date': due_date, 'due_time': '10:17',
|
||||
})
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
item.refresh_from_db()
|
||||
self.assertEqual(timezone.localtime(item.due_at).time().replace(second=0, microsecond=0), time(10, 17))
|
||||
|
||||
def test_composer_menu_is_before_toolbar_and_file_controls(self):
|
||||
response = self.client.get(reverse('index'))
|
||||
html = response.content.decode()
|
||||
|
||||
Reference in New Issue
Block a user