Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import copy
- import unittest2 as unittest
- from plone import api
- from plone.app.multilingual.interfaces import ITranslationManager
- from my.translations.testing import\
- MY_TRANSLATIONS_INTEGRATION_TESTING
- from zope.component import getSiteManager
- #Plone
- from plone.app.testing import TEST_USER_NAME, TEST_USER_ID
- from plone.app.testing import login, logout
- from plone.app.testing import setRoles
- from plone.testing.z2 import Browser
- class TestTranslationSync(unittest.TestCase):
- """ Ensure that when an English object is acted on that translations are
- also generated/removed appropriately.
- """
- layer = MY_TRANSLATIONS_INTEGRATION_TESTING
- def setUp(self):
- self.app = self.layer['app']
- self.portal = self.layer['portal']
- sm = getSiteManager(context=self.portal)
- def tearDown(self):
- sm = getSiteManager(context=self.portal)
- def get_site_languages(self):
- """ Returns site languages except for preferred language.
- """
- portal_languages = api.portal.get_tool(name='portal_languages')
- langs = copy.copy(portal_languages.getSupportedLanguages())
- langs.remove(portal_languages.getPreferredLanguage())
- return langs
- def test_transition_to_private(self):
- # create the english object
- en = self.portal.unrestrictedTraverse('en')
- test_doc = api.content.create(
- type='Document',
- title='Test Translation Sync',
- container=en)
- api.content.transition(obj=test_doc,
- transition='publishformembers',
- comment='Testing translation sync.')
- # make sure that translation exists for all supported
- # site language that are not the preferred language.
- langs = self.get_site_languages()
- all_translations_exist = all([ITranslationManager(test_doc).has_translation(lang) for lang in langs])
- api.content.delete(obj=test_doc)
- assert all_translations_exist
- def test_suite():
- return unittest.defaultTestLoader.loadTestsFromName(__name__)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement