Files
@ 0f15f88e69c1
Branch filter:
Location: kallithea/rhodecode/tests/functional/test_admin_notifications.py - annotation
0f15f88e69c1
4.4 KiB
text/x-python
changelog: don't select all checkboxes in the middle
The changesets in the log might not be linearly connected and intermediate
changesets might not be a part of the operation the range is used for.
Some way of highlighting the two selected changesets and some radio button
functionality would however be nice.
The changesets in the log might not be linearly connected and intermediate
changesets might not be a part of the operation the range is used for.
Some way of highlighting the two selected changesets and some radio button
functionality would however be nice.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | cac5109ac3b6 40b3a54391f9 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 388843a3a3c0 cac5109ac3b6 cac5109ac3b6 54687aa00724 54687aa00724 54687aa00724 40b3a54391f9 40b3a54391f9 54687aa00724 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 388843a3a3c0 388843a3a3c0 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 54687aa00724 cac5109ac3b6 cac5109ac3b6 40b3a54391f9 cac5109ac3b6 54687aa00724 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 388843a3a3c0 cac5109ac3b6 cac5109ac3b6 388843a3a3c0 cac5109ac3b6 54687aa00724 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 40b3a54391f9 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 388843a3a3c0 54687aa00724 54687aa00724 54687aa00724 cac5109ac3b6 54687aa00724 54687aa00724 54687aa00724 54687aa00724 a45191e7c7bb cac5109ac3b6 54687aa00724 54687aa00724 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 388843a3a3c0 cac5109ac3b6 cac5109ac3b6 388843a3a3c0 cac5109ac3b6 cac5109ac3b6 64e91067b996 54687aa00724 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 | from rhodecode.tests import *
from rhodecode.model.db import Notification, User
from rhodecode.model.user import UserModel
from rhodecode.model.notification import NotificationModel
class TestNotificationsController(TestController):
def tearDown(self):
for n in Notification.query().all():
inst = Notification.get(n.notification_id)
self.Session().delete(inst)
self.Session().commit()
def test_index(self):
self.log_user()
u1 = UserModel().create_or_update(username='u1', password='qweqwe',
email='u1@rhodecode.org',
firstname='u1', lastname='u1')
u1 = u1.user_id
response = self.app.get(url('notifications'))
self.assertTrue('''<div class="table">No notifications here yet</div>'''
in response.body)
cur_user = self._get_logged_user()
NotificationModel().create(created_by=u1, subject=u'test_notification_1',
body=u'notification_1',
recipients=[cur_user])
self.Session().commit()
response = self.app.get(url('notifications'))
self.assertTrue(u'test_notification_1' in response.body)
# def test_index_as_xml(self):
# response = self.app.get(url('formatted_notifications', format='xml'))
#
# def test_create(self):
# response = self.app.post(url('notifications'))
#
# def test_new(self):
# response = self.app.get(url('new_notification'))
#
# def test_new_as_xml(self):
# response = self.app.get(url('formatted_new_notification', format='xml'))
#
# def test_update(self):
# response = self.app.put(url('notification', notification_id=1))
#
# def test_update_browser_fakeout(self):
# response = self.app.post(url('notification', notification_id=1), params=dict(_method='put'))
def test_delete(self):
self.log_user()
cur_user = self._get_logged_user()
u1 = UserModel().create_or_update(username='u1', password='qweqwe',
email='u1@rhodecode.org',
firstname='u1', lastname='u1')
u2 = UserModel().create_or_update(username='u2', password='qweqwe',
email='u2@rhodecode.org',
firstname='u2', lastname='u2')
# make notifications
notification = NotificationModel().create(created_by=cur_user,
subject=u'test',
body=u'hi there',
recipients=[cur_user, u1, u2])
self.Session().commit()
u1 = User.get(u1.user_id)
u2 = User.get(u2.user_id)
# check DB
get_notif = lambda un: [x.notification for x in un]
self.assertEqual(get_notif(cur_user.notifications), [notification])
self.assertEqual(get_notif(u1.notifications), [notification])
self.assertEqual(get_notif(u2.notifications), [notification])
cur_usr_id = cur_user.user_id
response = self.app.delete(url('notification',
notification_id=
notification.notification_id))
self.assertEqual(response.body, 'ok')
cur_user = User.get(cur_usr_id)
self.assertEqual(cur_user.notifications, [])
def test_show(self):
self.log_user()
cur_user = self._get_logged_user()
u1 = UserModel().create_or_update(username='u1', password='qweqwe',
email='u1@rhodecode.org',
firstname='u1', lastname='u1')
u2 = UserModel().create_or_update(username='u2', password='qweqwe',
email='u2@rhodecode.org',
firstname='u2', lastname='u2')
notification = NotificationModel().create(created_by=cur_user,
subject=u'test',
body=u'hi there',
recipients=[cur_user, u1, u2])
response = self.app.get(url('notification',
notification_id=notification.notification_id))
|