[#7082] ticket:769 Tests for has_activity_access
diff --git a/ForgeTracker/forgetracker/tests/unit/test_ticket_model.py b/ForgeTracker/forgetracker/tests/unit/test_ticket_model.py
index aa17c1f..889f342 100644
--- a/ForgeTracker/forgetracker/tests/unit/test_ticket_model.py
+++ b/ForgeTracker/forgetracker/tests/unit/test_ticket_model.py
@@ -23,8 +23,13 @@
from ming.orm.ormsession import ThreadLocalORMSession
from ming.orm import session
from ming import schema
-from nose.tools import raises, assert_equal, assert_in
-
+from nose.tools import (
+ raises,
+ assert_equal,
+ assert_in,
+ assert_true,
+ assert_false,
+)
from forgetracker.model import Ticket, TicketAttachment
from forgetracker.tests.unit import TrackerTestWithModel
from forgetracker.import_support import ResettableStream
@@ -87,6 +92,25 @@
assert_in('allura_id', t.activity_extras)
assert_equal(t.activity_extras['summary'], t.summary)
+ def test_has_activity_access(self):
+ t = Ticket(summary='ticket', ticket_num=666)
+ assert_true(t.has_activity_access('read', c.user, 'activity'))
+ t.deleted = True
+ assert_false(t.has_activity_access('read', c.user, 'activity'))
+
+ def test_comment_has_activity_access(self):
+ t = Ticket(summary='ticket', ticket_num=666, deleted=True)
+ p = t.discussion_thread.add_post(text='test post')
+ assert_equal(p.status, 'ok')
+ assert_true(p.has_activity_access('read', c.user, 'activity'))
+ p.status = 'spam'
+ assert_false(p.has_activity_access('read', c.user, 'activity'))
+ p.status = 'pending'
+ assert_false(p.has_activity_access('read', c.user, 'activity'))
+ p.status = 'ok'
+ p.deleted = True
+ assert_false(p.has_activity_access('read', c.user, 'activity'))
+
def test_private_ticket(self):
from allura.model import ProjectRole
from allura.model import ACE, DENY_ALL