source: products/quintagroup.plonecomments/trunk/quintagroup/plonecomments/tests/testQPloneCommentsInstall.py @ 1222

Last change on this file since 1222 was 880, checked in by mylan, 17 years ago

Up version.

File size: 3.7 KB
Line 
1#
2# Test product's installation
3#
4
5from base import getToolByName, TestCase
6from config import *
7
8
9class TestInstallation(TestCase):
10
11    def afterSetUp(self):
12        self.loginAsPortalOwner()
13        self.qi = self.portal.portal_quickinstaller
14
15    def test_package_install(self):
16        self.failUnless(self.qi.isProductInstalled(PRODUCT),
17            '%s is not installed.' % PRODUCT)
18
19    def test_configlet_install(self):
20        configTool = getToolByName(self.portal, 'portal_controlpanel', None)
21        self.failUnless(CONFIGLET_ID in [a.getId() for a in configTool.listActions()],
22            'Configlet %s is not registered.' % CONFIGLET_ID)
23
24    def test_skins_install(self):
25        skinstool=getToolByName(self.portal, 'portal_skins')
26        self.failUnless(PRODUCT_SKIN_NAME in skinstool.objectIds(),
27                'There is no %s folder in portal_skins.' % PRODUCT_SKIN_NAME)
28        for skin in skinstool.getSkinSelections():
29            path = skinstool.getSkinPath(skin)
30            layers = map(str.strip, path.split(','))
31            self.failUnless(PRODUCT_SKIN_NAME in layers,
32                '%s layer is not registered for %s.' % (PRODUCT_SKIN_NAME, skin))
33
34    def test_layer_install(self):
35        from plone.browserlayer.utils import registered_layers
36        from quintagroup.plonecomments.interfaces import IPloneCommentsLayer
37        self.failUnless(IPloneCommentsLayer in registered_layers(),
38            '%s layer is not registered.' % IPloneCommentsLayer.getName())
39
40    def test_propertysheet_install(self):
41        portal_properties = getToolByName(self.portal, 'portal_properties', None)
42        self.failUnless(PROPERTY_SHEET in portal_properties.objectIds(),
43            '%s properies not found in portal_properties.' % PROPERTY_SHEET)
44        property_ids = portal_properties[PROPERTY_SHEET].propertyIds()
45        self.failUnless(EMAIL_PID in property_ids,
46            '%s propery not found in %s property.' % (EMAIL_PID, PROPERTY_SHEET))
47        self.failUnless(EMAIL_SUBJECT_PID in property_ids,
48            '%s propery not found in %s property.' % (EMAIL_SUBJECT_PID, PROPERTY_SHEET))
49        self.failUnless(REQUIRE_EMAIL_PID in property_ids,
50            '%s propery not found in %s property.' % (REQUIRE_EMAIL_PID, PROPERTY_SHEET))
51        self.failUnless(APPROVE_NOTIFICATION_PID in property_ids,
52            '%s propery not found in %s property.' % (APPROVE_NOTIFICATION_PID, PROPERTY_SHEET))
53        self.failUnless(PUBLISHED_NOTIFICATION_PID in property_ids,
54            '%s propery not found in %s property.' % (PUBLISHED_NOTIFICATION_PID, PROPERTY_SHEET))
55        self.failUnless(REJECTED_NOTIFICATION_PID in property_ids,
56            '%s propery not found in %s property.' % (REJECTED_NOTIFICATION_PID, PROPERTY_SHEET))
57        self.failUnless(APPROVE_USER_NOTIFICATION_PID in property_ids,
58            '%s propery not found in %s property.' % (APPROVE_USER_NOTIFICATION_PID, PROPERTY_SHEET))
59        self.failUnless(REPLY_USER_NOTIFICATION_PID in property_ids,
60            '%s propery not found in %s property.' % (REPLY_USER_NOTIFICATION_PID, PROPERTY_SHEET))
61        self.failUnless(MODERATION_PID in property_ids,
62            '%s propery not found in %s property.' % (MODERATION_PID, PROPERTY_SHEET))
63        self.failUnless(ANONYMOUS_COMMENTING_PID in property_ids,
64            '%s propery not found in %s property.' % (ANONYMOUS_COMMENTING_PID, PROPERTY_SHEET))
65
66    def test_permission_added(self):
67        roles = [item['name'] for item in self.portal.rolesOfPermission(PERM_NAME)]
68        self.failIf( roles == [], '%s not installed.' % PERM_NAME)
69
70
71def test_suite():
72    from unittest import TestSuite, makeSuite
73    suite = TestSuite()
74    suite.addTest(makeSuite(TestInstallation))
75    return suite
Note: See TracBrowser for help on using the repository browser.