mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-26 15:26:19 +00:00
@@ -360,15 +360,13 @@ class SearchUser(APIView):
|
|||||||
# remove duplicate emails
|
# remove duplicate emails
|
||||||
search_result = {}.fromkeys(search_result).keys()
|
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)
|
search_result.remove(username)
|
||||||
|
|
||||||
|
if is_valid_username(q) and q not in search_result:
|
||||||
|
search_result.insert(0, q)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
size = int(request.GET.get('avatar_size', 32))
|
size = int(request.GET.get('avatar_size', 32))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
|
@@ -11,54 +11,17 @@ class SearchUserTest(BaseTestCase):
|
|||||||
self.endpoint = reverse('search-user')
|
self.endpoint = reverse('search-user')
|
||||||
|
|
||||||
def test_can_search(self):
|
def test_can_search(self):
|
||||||
email = self.admin.email
|
p = Profile.objects.add_or_update(self.user.email, nickname="test")
|
||||||
nickname = 'admin_test'
|
p.contact_email = 'new_mail@test.com'
|
||||||
contact_email= 'new_admin_test@test.com'
|
|
||||||
p = Profile.objects.add_or_update(email, nickname=nickname)
|
|
||||||
p.contact_email = contact_email
|
|
||||||
p.save()
|
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)
|
json_resp = json.loads(resp.content)
|
||||||
|
|
||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
assert json_resp['users'] is not None
|
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'] is not None
|
||||||
assert json_resp['users'][0]['avatar_url'] 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]['name'] == 'test'
|
||||||
assert json_resp['users'][0]['contact_email'] == contact_email
|
assert json_resp['users'][0]['contact_email'] == 'new_mail@test.com'
|
||||||
|
|
||||||
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
|
|
||||||
|
Reference in New Issue
Block a user