Add composer user and image suggestions

This commit is contained in:
rucki
2026-09-11 14:57:10 +02:00
parent d7472554df
commit a0244cf352
5 changed files with 59 additions and 8 deletions
+28
View File
@@ -120,6 +120,34 @@ class WorkspaceTenancyTests(TestCase):
self.assertContains(response, 'text-bg-danger">1</span>')
self.assertNotContains(response, 'Due elsewhere')
def test_user_suggestions_are_limited_to_active_workspace(self):
owner = get_user_model().objects.create_user(username='suggest-owner', password='secret')
alice = get_user_model().objects.create_user(username='alice-suggest', first_name='Alice', password='secret')
outsider = get_user_model().objects.create_user(username='alice-foreign', password='secret')
workspace = Workspace.objects.create(owner=owner, name='Suggest Co', slug='suggest-co')
WorkspaceMembership.objects.create(workspace=workspace, user=owner, role=WorkspaceMembership.Role.OWNER)
WorkspaceMembership.objects.create(workspace=workspace, user=alice, role=WorkspaceMembership.Role.MEMBER)
get_or_create_personal_workspace(outsider)
self.client.force_login(owner)
self.client.post(reverse('workspace_switch', args=[workspace.id]), {'next': reverse('index')})
response = self.client.get(reverse('api_user_suggestions'), {'q': 'alice'})
self.assertEqual(response.status_code, 200)
usernames = [entry['username'] for entry in response.json()['users']]
self.assertIn('alice-suggest', usernames)
self.assertNotIn('alice-foreign', usernames)
def test_composer_has_user_mentions_and_image_slash_command(self):
user = get_user_model().objects.create_user(username='composer-menu', password='secret')
self.client.force_login(user)
response = self.client.get(reverse('index'))
self.assertContains(response, '/image')
self.assertContains(response, '/api/user-suggestions/')
self.assertContains(response, "fragment.startsWith('@')")
def test_todo_can_be_assigned_to_workspace_member_with_mention(self):
owner = get_user_model().objects.create_user(username='assign-owner', password='secret')
assignee = get_user_model().objects.create_user(username='alice', password='secret')