Preserve team visibility when editing items

This commit is contained in:
rucki
2026-08-28 11:18:05 +02:00
parent 682f5f7442
commit 04b9a4756e
4 changed files with 115 additions and 1 deletions
+33
View File
@@ -147,6 +147,39 @@ class NavigationAndLayoutTests(TestCase):
self.assertLess(toolbar_position, file_position)
class TeamItemEditTests(TestCase):
def setUp(self):
self.user = get_user_model().objects.create_user(username='team-editor', password='secret')
self.team = Team.objects.create(name='Docs team', slug='docs', owner=self.user)
TeamMembership.objects.create(team=self.team, user=self.user, role=TeamMembership.Role.OWNER)
self.client.force_login(self.user)
def test_editing_team_item_preserves_team_link(self):
item = Item.objects.create(
owner=self.user, team=self.team, kind=Item.Kind.TODO,
content='Original #docs', visibility=Item.Visibility.TEAM,
)
item.sync_metadata()
response = self.client.post(reverse('edit_item', args=[item.id]), {
'content': 'Updated #docs', 'comment': '', 'visibility': Item.Visibility.TEAM, 'url': '',
})
self.assertEqual(response.status_code, 200)
item.refresh_from_db()
self.assertEqual(item.team, self.team)
self.assertEqual(item.visibility, Item.Visibility.TEAM)
def test_team_visibility_is_selected_in_edit_forms(self):
item = Item.objects.create(
owner=self.user, team=self.team, content='Original #docs', visibility=Item.Visibility.TEAM,
)
response = self.client.get(reverse('edit_item', args=[item.id]))
self.assertContains(response, '<option value="team" selected>', html=False)
response = self.client.get(reverse('item_editor', args=[item.id]))
self.assertContains(response, '<option value="team" selected>', html=False)
class CollectionTests(TestCase):
def setUp(self):
self.user = get_user_model().objects.create_user(username='collector', password='secret')