Fix attachment editing and return URLs

This commit is contained in:
rucki
2026-09-03 14:10:01 +02:00
parent d97244de40
commit 63e1d12f98
5 changed files with 50 additions and 5 deletions
+23 -1
View File
@@ -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):