Improve slash commands and due dates
This commit is contained in:
+26
-1
@@ -3,7 +3,7 @@ from django.test import TestCase
|
||||
from django.urls import reverse
|
||||
|
||||
from .models import Item, Tag, UserPreference
|
||||
from .views import parse_quick_content
|
||||
from .views import parse_due_command, parse_quick_content
|
||||
|
||||
|
||||
class ItemMetadataTests(TestCase):
|
||||
@@ -53,6 +53,31 @@ class DefaultItemKindTests(TestCase):
|
||||
self.assertEqual(response.context['requested_kind'], Item.Kind.TODO)
|
||||
|
||||
|
||||
class DueDateCommandTests(TestCase):
|
||||
def setUp(self):
|
||||
self.user = get_user_model().objects.create_user(username='dates', password='secret')
|
||||
self.client.force_login(self.user)
|
||||
|
||||
def test_datum_command_is_removed_and_parsed(self):
|
||||
cleaned, due_at, found = parse_due_command('/todo Call back /datum 20.10.26 14:30 #work')
|
||||
self.assertTrue(found)
|
||||
self.assertEqual(cleaned, '/todo Call back #work')
|
||||
self.assertEqual((due_at.year, due_at.month, due_at.day, due_at.hour, due_at.minute), (2026, 10, 20, 14, 30))
|
||||
|
||||
def test_relative_command_sets_due_date_on_quick_create(self):
|
||||
response = self.client.post(reverse('index'), {'content': '/todo Call back /morgen'})
|
||||
self.assertRedirects(response, reverse('index'))
|
||||
item = Item.objects.get()
|
||||
self.assertNotIn('/morgen', item.content)
|
||||
self.assertIsNotNone(item.due_at)
|
||||
|
||||
def test_type_and_date_commands_are_available_in_menu(self):
|
||||
response = self.client.get(reverse('index'))
|
||||
self.assertContains(response, "{token:'/note'")
|
||||
self.assertContains(response, "{token:'/datum'")
|
||||
self.assertContains(response, "let hasType=")
|
||||
|
||||
|
||||
class CopyButtonTests(TestCase):
|
||||
def test_item_has_copy_button_with_original_text(self):
|
||||
user = get_user_model().objects.create_user(username='tester', password='secret')
|
||||
|
||||
Reference in New Issue
Block a user