Preserve team visibility when editing items
This commit is contained in:
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user