Ejemplo n.º 1
0
 def setUp(self):
     self.portal = self.layer["portal"]
     setRoles(self.portal, TEST_USER_ID, ("Manager",))
     self.portal.invokeFactory("Document", "tester")
     self.folder = self.portal.tester
     self.folder.flattrThingId = u"XXX"
     self.viewlet = FlattrViewlet(self.folder, self.layer["request"], None)
     setRoles(self.portal, TEST_USER_ID, ("Member",))
Ejemplo n.º 2
0
class TestFlattrViewlet(unittest.TestCase):

    layer = COLLECTIVE_FLATTR_INTEGRATION_TESTING

    def setUp(self):
        self.portal = self.layer["portal"]
        setRoles(self.portal, TEST_USER_ID, ("Manager",))
        self.portal.invokeFactory("Document", "tester")
        self.folder = self.portal.tester
        self.folder.flattrThingId = u"XXX"
        self.viewlet = FlattrViewlet(self.folder, self.layer["request"], None)
        setRoles(self.portal, TEST_USER_ID, ("Member",))

    def test_update_default(self):
        self.viewlet.update()

        self.assertEquals(self.viewlet.button_type, u"flattr;button:compact;")
        self.assertTrue(self.viewlet.show)

    def test_update_compact(self):
        reg = getUtility(IRegistry).forInterface(ICollectiveFlattr)
        reg.button_type = u"Compact Counter"

        self.viewlet.update()
        self.assertEquals(self.viewlet.button_type, u"flattr;button:compact;")
        self.assertTrue(self.viewlet.show)

    def test_update_large(self):
        reg = getUtility(IRegistry).forInterface(ICollectiveFlattr)
        reg.button_type = u"Large Counter"

        self.viewlet.update()
        self.assertEquals(self.viewlet.button_type, u"flattr;button:large;")
        self.assertTrue(self.viewlet.show)

    def test_update_static(self):
        reg = getUtility(IRegistry).forInterface(ICollectiveFlattr)
        reg.button_type = u"Static"

        self.viewlet.update()
        self.assertEquals(self.viewlet.button_type, u"")
        self.assertTrue(self.viewlet.show)

    def test_no_thing_url(self):
        self.folder.flattrThingId = u""

        self.viewlet.update()
        self.assertFalse(self.viewlet.show)

    def test_base_url(self):
        self.viewlet.update()

        self.assertEquals(self.viewlet.base_url, u"http://nohost/plone/tester")

    def test_ct_no_fthing_url(self):
        delattr(self.folder, "flattrThingId")

        self.viewlet.update()
        self.assertFalse(self.viewlet.show)

    def test_update_when_not_installed(self):
        app = self.portal.aq_parent
        z2.uninstallProduct(app, "collective.flattr")
        from Products.CMFCore.utils import getToolByName

        setup = getToolByName(self.portal, "portal_setup")
        setup.runAllImportStepsFromProfile("profile-collective.flattr:uninstall")

        self.viewlet.update()
        self.assertFalse(self.viewlet.show)

    def test_http_img_url_static(self):
        reg = getUtility(IRegistry).forInterface(ICollectiveFlattr)
        reg.button_type = u"Static"

        self.viewlet.update()
        self.assertEquals(self.viewlet.flattr_url, u"http://api.flattr.com")

        ret = self.viewlet.render()

        self.failUnless(u'src="http://api.flattr.com/button' in ret)

    def test_https_img_url_static(self):
        # and again with https in requests url
        reg = getUtility(IRegistry).forInterface(ICollectiveFlattr)
        reg.button_type = u"Static"
        self.layer["request"]["URL"] = u"https://nohost/plone"

        self.viewlet.update()
        self.assertEquals(self.viewlet.flattr_url, u"https://api.flattr.com")

        ret = self.viewlet.render()

        self.failUnless(u'src="https://api.flattr.com/button' in ret)

    def test_http_img_url_not_static(self):
        reg = getUtility(IRegistry).forInterface(ICollectiveFlattr)
        reg.button_type = u"Large Counter"

        self.viewlet.update()
        self.assertEquals(self.viewlet.flattr_url, u"http://api.flattr.com")

        ret = self.viewlet.render()

        self.failUnless(u'src="http://api.flattr.com/button' in ret)

    def test_https_img_url_not_static(self):
        # and again with https in requests url
        reg = getUtility(IRegistry).forInterface(ICollectiveFlattr)
        reg.button_type = u"Compact Counter"
        self.layer["request"]["URL"] = u"https://nohost/plone"

        self.viewlet.update()
        self.assertEquals(self.viewlet.flattr_url, u"https://api.flattr.com")

        ret = self.viewlet.render()

        self.failUnless(u'src="https://api.flattr.com/button' in ret)