mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-25 14:50:29 +00:00
@@ -360,15 +360,13 @@ class SearchUser(APIView):
|
||||
# remove duplicate emails
|
||||
search_result = {}.fromkeys(search_result).keys()
|
||||
|
||||
try:
|
||||
include_self = int(request.GET.get('include_self', 1))
|
||||
except ValueError:
|
||||
include_self = 1
|
||||
|
||||
if include_self == 0 and username in search_result:
|
||||
# reomve myself
|
||||
# reomve myself
|
||||
if username in search_result:
|
||||
search_result.remove(username)
|
||||
|
||||
if is_valid_username(q) and q not in search_result:
|
||||
search_result.insert(0, q)
|
||||
|
||||
try:
|
||||
size = int(request.GET.get('avatar_size', 32))
|
||||
except ValueError:
|
||||
|
@@ -11,54 +11,17 @@ class SearchUserTest(BaseTestCase):
|
||||
self.endpoint = reverse('search-user')
|
||||
|
||||
def test_can_search(self):
|
||||
email = self.admin.email
|
||||
nickname = 'admin_test'
|
||||
contact_email= 'new_admin_test@test.com'
|
||||
p = Profile.objects.add_or_update(email, nickname=nickname)
|
||||
p.contact_email = contact_email
|
||||
p = Profile.objects.add_or_update(self.user.email, nickname="test")
|
||||
p.contact_email = 'new_mail@test.com'
|
||||
p.save()
|
||||
|
||||
resp = self.client.get(self.endpoint + '?q=' + email)
|
||||
resp = self.client.get(self.endpoint + '?q=' + self.user.email)
|
||||
json_resp = json.loads(resp.content)
|
||||
|
||||
self.assertEqual(200, resp.status_code)
|
||||
assert json_resp['users'] is not None
|
||||
assert json_resp['users'][0]['email'] == email
|
||||
assert json_resp['users'][0]['email'] == self.user.email
|
||||
assert json_resp['users'][0]['avatar'] is not None
|
||||
assert json_resp['users'][0]['avatar_url'] is not None
|
||||
assert json_resp['users'][0]['name'] == nickname
|
||||
assert json_resp['users'][0]['contact_email'] == contact_email
|
||||
|
||||
def test_search_myself(self):
|
||||
email = self.user.email
|
||||
nickname = 'user_test'
|
||||
contact_email= 'new_user_test@test.com'
|
||||
p = Profile.objects.add_or_update(email, nickname=nickname)
|
||||
p.contact_email = contact_email
|
||||
p.save()
|
||||
|
||||
resp = self.client.get(self.endpoint + '?q=' + email)
|
||||
json_resp = json.loads(resp.content)
|
||||
|
||||
self.assertEqual(200, resp.status_code)
|
||||
assert json_resp['users'] is not None
|
||||
assert json_resp['users'][0]['email'] == email
|
||||
assert json_resp['users'][0]['avatar'] is not None
|
||||
assert json_resp['users'][0]['avatar_url'] is not None
|
||||
assert json_resp['users'][0]['name'] == nickname
|
||||
assert json_resp['users'][0]['contact_email'] == contact_email
|
||||
|
||||
def test_search_without_myself(self):
|
||||
email = self.user.email
|
||||
resp = self.client.get(self.endpoint + '?include_self=0&q=' + email)
|
||||
json_resp = json.loads(resp.content)
|
||||
|
||||
self.assertEqual(200, resp.status_code)
|
||||
assert len(json_resp['users']) == 0
|
||||
|
||||
def test_search_unregistered_user(self):
|
||||
resp = self.client.get(self.endpoint + '?q=unregistered_user@seafile.com')
|
||||
json_resp = json.loads(resp.content)
|
||||
|
||||
self.assertEqual(200, resp.status_code)
|
||||
assert len(json_resp['users']) == 0
|
||||
assert json_resp['users'][0]['name'] == 'test'
|
||||
assert json_resp['users'][0]['contact_email'] == 'new_mail@test.com'
|
||||
|
Reference in New Issue
Block a user