source: products/qPloneComments/trunk/tests/testQPloneCommentsReportAbuse.py @ 2284

Last change on this file since 2284 was 1187, checked in by liebster, 15 years ago

Merged revisions 1946-1951,1957-1962,1964-1965,1967-1970,1972-1986,1990-1993,2199-2200 via svnmerge from
http://svn.quintagroup.com/products/qPloneComments/branches/jcbrand-abuseFeature

........

r1946 | jcbrand | 2009-04-01 16:52:52 +0300 (Срд, 01 Апр 2009) | 3 lines


Add enable_report_abuse property to propertiestool.xml
Add checkbox for this property on the prefs_comments_setup_form.cpt

........

r1947 | jcbrand | 2009-04-01 17:29:20 +0300 (Срд, 01 Апр 2009) | 2 lines


Add report_abuse.pt containing the report_abuse form.

........

r1948 | jcbrand | 2009-04-01 17:30:35 +0300 (Срд, 01 Апр 2009) | 2 lines


Add utility method necesary for the report abuse form.

........

r1949 | jcbrand | 2009-04-01 17:31:05 +0300 (Срд, 01 Апр 2009) | 2 lines


Add the report abuse button and form (hidden).

........

r1950 | jcbrand | 2009-04-01 17:43:31 +0300 (Срд, 01 Апр 2009) | 1 line


Add qcomments.kss and register

........

r1951 | jcbrand | 2009-04-01 17:43:54 +0300 (Срд, 01 Апр 2009) | 1 line


Add qcomments.js and register

........

r1957 | jcbrand | 2009-04-02 12:52:54 +0300 (Чтв, 02 Апр 2009) | 2 lines


Add new mail action for the enable_report_abuse state.

........

r1958 | jcbrand | 2009-04-02 12:54:05 +0300 (Чтв, 02 Апр 2009) | 2 lines


Add a form and new hidden input containing 'comment_id'

........

r1959 | jcbrand | 2009-04-02 12:59:12 +0300 (Чтв, 02 Апр 2009) | 2 lines


Add CommentsKSS kss class and submit_abuse_report method.

........

r1960 | jcbrand | 2009-04-02 13:00:14 +0300 (Чтв, 02 Апр 2009) | 2 lines


Bugfix, preventDefault for all the forms.

........

r1961 | jcbrand | 2009-04-02 13:00:30 +0300 (Чтв, 02 Апр 2009) | 2 lines


remove comment_id passing.

........

r1962 | jcbrand | 2009-04-02 13:00:53 +0300 (Чтв, 02 Апр 2009) | 2 lines


get values from request if able.

........

r1964 | jcbrand | 2009-04-02 13:01:18 +0300 (Чтв, 02 Апр 2009) | 2 lines


Add comments.CommentsKSS

........

r1965 | jcbrand | 2009-04-02 13:01:39 +0300 (Чтв, 02 Апр 2009) | 2 lines


Include browser.

........

r1967 | jcbrand | 2009-04-02 14:26:07 +0300 (Чтв, 02 Апр 2009) | 1 line


Add email template for the report_abuse function

........

r1968 | jcbrand | 2009-04-02 14:26:41 +0300 (Чтв, 02 Апр 2009) | 2 lines


Use the new email template.

........

r1969 | jcbrand | 2009-04-02 14:29:41 +0300 (Чтв, 02 Апр 2009) | 3 lines


Register remove_abuse_report_form as a kss command.
Add new code to it that adds an optional html. (Used for status message)

........

r1970 | jcbrand | 2009-04-02 15:18:24 +0300 (Чтв, 02 Апр 2009) | 3 lines


Add form action.
Add place holder for abuse count info.

........

r1972 | jcbrand | 2009-04-02 16:08:42 +0300 (Чтв, 02 Апр 2009) | 2 lines


Add new portal_properties settings.

........

r1973 | jcbrand | 2009-04-02 19:39:27 +0300 (Чтв, 02 Апр 2009) | 1 line


Add controller python script for abuse reports

........

r1974 | jcbrand | 2009-04-02 19:39:55 +0300 (Чтв, 02 Апр 2009) | 1 line


Add validation script for abuse reporting

........

r1975 | jcbrand | 2009-04-02 19:40:43 +0300 (Чтв, 02 Апр 2009) | 1 line


Add template and metadata for rendering the report abuse form. Moved the macro form report_abuse.pt to this template

........

r1976 | jcbrand | 2009-04-02 19:41:22 +0300 (Чтв, 02 Апр 2009) | 1 line


remove old template

........

r1977 | jcbrand | 2009-04-02 19:41:52 +0300 (Чтв, 02 Апр 2009) | 3 lines


Fix form action.
Fix bug with form nesting.

........

r1978 | jcbrand | 2009-04-02 19:42:46 +0300 (Чтв, 02 Апр 2009) | 1 line


Add new utility methods. Use newly registered kss command

........

r1979 | jcbrand | 2009-04-02 19:43:20 +0300 (Чтв, 02 Апр 2009) | 2 lines


Bugfixes after the introduction of new portal_properties props.

........

r1980 | jcbrand | 2009-04-02 19:44:14 +0300 (Чтв, 02 Апр 2009) | 2 lines


Bugfixes

........

r1981 | jcbrand | 2009-04-02 19:44:31 +0300 (Чтв, 02 Апр 2009) | 2 lines


Register the remove_abuse_report_form kss action.

........

r1982 | jcbrand | 2009-04-03 11:41:32 +0300 (Птн, 03 Апр 2009) | 2 lines


Fix bug whereby emails were sent twice

........

r1983 | jcbrand | 2009-04-03 11:42:08 +0300 (Птн, 03 Апр 2009) | 1 line


Bugfixes related to anonymous comment adding

........

r1984 | jcbrand | 2009-04-03 11:59:44 +0300 (Птн, 03 Апр 2009) | 2 lines


Add macro for the captcha widget.

........

r1985 | jcbrand | 2009-04-03 12:00:22 +0300 (Птн, 03 Апр 2009) | 2 lines


Render a new captcha after hiding form.

........

r1986 | jcbrand | 2009-04-03 12:00:32 +0300 (Птн, 03 Апр 2009) | 2 lines


Change fade out time.

........

r1990 | jcbrand | 2009-04-03 13:37:13 +0300 (Птн, 03 Апр 2009) | 1 line


Add test suite

........

r1991 | jcbrand | 2009-04-03 13:37:38 +0300 (Птн, 03 Апр 2009) | 1 line


remove redundant line

........

r1992 | jcbrand | 2009-04-03 13:48:21 +0300 (Птн, 03 Апр 2009) | 1 line


bugfix

........

r1993 | jcbrand | 2009-04-03 13:56:51 +0300 (Птн, 03 Апр 2009) | 1 line


remove explicit microseconds

........

r2199 | jcbrand | 2009-07-25 02:07:58 +0300 (Сбт, 25 Июл 2009) | 1 line


Fixed a bug with syntax recognition of an older version of jquery

........

r2200 | jcbrand | 2009-07-25 02:08:58 +0300 (Сбт, 25 Июл 2009) | 1 line


Log email errors, so that the report abuse form still closes

........

File size: 2.7 KB
Line 
1from Products.PloneTestCase import PloneTestCase
2from Products.CMFCore.utils import getToolByName
3from Products.qPloneComments.tests.testQPloneCommentsCommenting import TestCommBase
4from zExceptions import Unauthorized
5
6PRODUCT = 'qPloneComments'
7USERS = {# Common Members
8         'admin':{'passw': 'secret_admin', 'roles': ['Manager']},
9         'owner':{'passw': 'secret_owner', 'roles': ['Owner']},
10         'member':{'passw': 'secret_member', 'roles': ['Member']},
11         'reviewer':{'passw': 'secret_reviewer', 'roles': ['Reviewer']},
12         # Members for discussion manager group
13         'dm_admin':{'passw': 'secret_dm_admin', 'roles': ['Manager']},
14         'dm_owner':{'passw': 'secret_dm_owner', 'roles': ['Owner']},
15         'dm_member':{'passw': 'secret_dm_member', 'roles': ['Member']},
16         'dm_reviewer':{'passw': 'secret_dm_reviewer', 'roles': ['Reviewer']},
17        }
18COMMON_USERS_IDS = [u for u in USERS.keys() if not u.startswith('dm_')]
19COMMON_USERS_IDS.append('anonym')
20DM_USERS_IDS = [u for u in USERS.keys() if u.startswith('dm_')]
21
22PloneTestCase.installProduct(PRODUCT)
23PloneTestCase.setupPloneSite()
24
25
26class TestReportAbuse(TestCommBase):
27
28    def afterSetUp(self):
29        TestCommBase.afterSetUp(self)
30        self.testAnonymousReportAbuse()
31        self.testAuthenticatedReportAbuse()
32
33    def testAnonymousReportAbuse(self):
34        self.login('dm_admin')
35        doc_obj = getattr(self.portal, "doc_anonym")
36        discussion = self.discussion.getDiscussionFor(doc_obj)
37        comment = discussion._container.values()[0]
38        self.logout()
39        # Add abuse report on document.
40        doc_obj.REQUEST.set('comment_id', comment.id)
41        try:
42            doc_obj.report_abuse("Anonymous Report Abuse") 
43        except:
44            raise "Anonymous user CAN'T report abuse in turned ON *Anonymous report abuse mode*."
45
46
47    def testAuthenticatedReportAbuse(self):
48        not_anonym_users = [u for u in self.all_users_id if not u=='anonym']
49        failed_users = []
50        for u in not_anonym_users:
51            self.login('dm_admin')
52            doc_id = "doc_%s" % u
53            doc_obj = getattr(self.portal, doc_id)
54            discussion = self.discussion.getDiscussionFor(doc_obj)
55            comment = discussion._container.values()[0]
56            doc_obj.REQUEST.set('comment_id', comment.id)
57            self.login(u)
58            try:
59                doc_obj.report_abuse("Anonymous Report Abuse") 
60            except:
61                failed_users.append(u)
62
63        self.assert_(not failed_users, "%s - user(s) can not report abuse" % failed_users)
64
65
66def test_suite():
67    from unittest import TestSuite, makeSuite
68    suite = TestSuite()
69    suite.addTest(makeSuite(TestReportAbuse))
70    return suite
71
Note: See TracBrowser for help on using the repository browser.