mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-02 07:27:04 +00:00
add_api_admin_notifications_with_test_cases (#3246)
* add_api_admin_notifications_with_test_cases
This commit is contained in:
63
tests/api/endpoints/admin/test_notifications.py
Normal file
63
tests/api/endpoints/admin/test_notifications.py
Normal file
@@ -0,0 +1,63 @@
|
||||
import json
|
||||
|
||||
from seahub.test_utils import BaseTestCase
|
||||
from seahub.notifications.models import UserNotification
|
||||
|
||||
from seahub.base.accounts import UserManager
|
||||
|
||||
|
||||
class AdminNotificationsTest(BaseTestCase):
|
||||
def setUp(self):
|
||||
self.endpoint = '/api/v2.1/admin/notifications/'
|
||||
self.user_name = self.user.username
|
||||
self.admin_name = self.admin.username
|
||||
|
||||
def test_get_all_nofitications_as_admin(self):
|
||||
self.login_as(self.admin)
|
||||
|
||||
notice1 = UserNotification.objects.add_user_message(self.user_name, 'test1')
|
||||
notice2 = UserNotification.objects.add_user_message(self.admin_name, 'test2')
|
||||
|
||||
resp = self.client.get(self.endpoint)
|
||||
json_resp = json.loads(resp.content)
|
||||
|
||||
self.assertEqual(200, resp.status_code)
|
||||
assert json_resp['count'] == 2
|
||||
|
||||
def test_get_a_user_notification_by_name_as_admin(self):
|
||||
self.login_as(self.admin)
|
||||
|
||||
new_user1 = UserManager().create_user(email='1@1.com', password='1')
|
||||
new_user2 = UserManager().create_user(email='2@2.com', password='2')
|
||||
|
||||
notice1 = UserNotification.objects.add_user_message(new_user1.username, 'test for user1')
|
||||
notice2 = UserNotification.objects.add_user_message(new_user1.username, 'test for user1')
|
||||
notice3 = UserNotification.objects.add_user_message(new_user2.username, 'test for user2')
|
||||
notice4 = UserNotification.objects.add_user_message(new_user2.username, 'test for user2')
|
||||
notice5 = UserNotification.objects.add_user_message(new_user2.username, 'test for user2')
|
||||
|
||||
resp_user1 = self.client.get(self.endpoint + '?username=' + new_user1.username)
|
||||
self.assertEqual(200, resp_user1.status_code)
|
||||
json_resp1 = json.loads(resp_user1.content)
|
||||
assert json_resp1['count'] == 2
|
||||
|
||||
resp_user2 = self.client.get(self.endpoint + '?username=' + new_user2.username)
|
||||
self.assertEqual(200, resp_user2.status_code)
|
||||
json_resp2 = json.loads(resp_user2.content)
|
||||
assert json_resp2['count'] == 3
|
||||
|
||||
new_user1.delete()
|
||||
new_user2.delete()
|
||||
|
||||
def test_get_notifications_with_invalid_usre_permission(self):
|
||||
self.login_as(self.user)
|
||||
notice1 = UserNotification.objects.add_user_message(self.user_name, 'test1')
|
||||
resp = self.client.get(self.endpoint)
|
||||
self.assertEqual(403, resp.status_code)
|
||||
|
||||
def test_get_notifications_with_no_notification(self):
|
||||
self.login_as(self.admin)
|
||||
resp = self.client.get(self.endpoint)
|
||||
obj_resp = json.loads(resp.content)
|
||||
assert len(obj_resp['notification_list']) == 0
|
||||
self.assertEqual(200, resp.status_code)
|
Reference in New Issue
Block a user