Fix attachment editing and return URLs
This commit is contained in:
+23
-1
@@ -7,7 +7,7 @@ from django.core.files.uploadedfile import SimpleUploadedFile
|
||||
from django.test import TestCase, override_settings
|
||||
from django.urls import reverse
|
||||
|
||||
from .models import ApiKey, Collection, CollectionSection, Item, Tag, Team, TeamMembership, UserPreference
|
||||
from .models import ApiKey, Attachment, Collection, CollectionSection, Item, Tag, Team, TeamMembership, UserPreference
|
||||
from .templatetags.markdown_extras import markdown, markdown_title
|
||||
from .views import parse_due_command, parse_quick_content
|
||||
|
||||
@@ -214,6 +214,28 @@ class AttachmentEditTests(TestCase):
|
||||
self.assertEqual(item.attachments.count(), 1)
|
||||
self.assertContains(response, 'hello.txt')
|
||||
|
||||
def test_existing_attachments_are_shown_and_can_be_deleted_in_editor(self):
|
||||
item = Item.objects.create(owner=self.user, content='Original')
|
||||
attachment = Attachment.objects.create(item=item, file=SimpleUploadedFile('duplicate.txt', b'duplicate', content_type='text/plain'))
|
||||
|
||||
response = self.client.get(reverse('item_editor', args=[item.id]))
|
||||
self.assertContains(response, 'duplicate.txt')
|
||||
self.assertContains(response, 'name="delete_attachments"')
|
||||
|
||||
response = self.client.post(reverse('item_editor', args=[item.id]), {
|
||||
'content': 'Original', 'comment': '', 'visibility': Item.Visibility.PRIVATE, 'url': '', 'delete_attachments': [str(attachment.id)],
|
||||
})
|
||||
|
||||
self.assertRedirects(response, item.get_absolute_url())
|
||||
self.assertFalse(item.attachments.exists())
|
||||
|
||||
def test_detail_editor_uses_original_return_url_not_partial_endpoint(self):
|
||||
item = Item.objects.create(owner=self.user, content='Original')
|
||||
response = self.client.get(f'{item.get_absolute_url()}?next=/')
|
||||
|
||||
self.assertContains(response, f'{reverse("item_editor", args=[item.id])}?next=/')
|
||||
self.assertNotContains(response, reverse('item_card', args=[item.id]))
|
||||
|
||||
|
||||
class TeamItemEditTests(TestCase):
|
||||
def setUp(self):
|
||||
|
||||
Reference in New Issue
Block a user