예제 #1
0
    def afterSetUp(self):
        super(OutdatedToolsTests, self).afterSetUp()
        self.loginAsPortalOwner()
        sector = createSector(self.portal)
        sector.contact_name = "Sectör NL"
        sector.contact_email = "*****@*****.**"

        survey = addSurvey(sector, BASIC_SURVEY)
        nl = sector.aq_parent
        # User invalid emails to skip an event handler
        nl.invokeFactory(
            "euphorie.countrymanager",
            "nl-cm-1",
            title="Country Mänager 1",
            contact_email="invalid_email1",
        )
        nl.invokeFactory(
            "euphorie.countrymanager",
            "nl-cm-2",
            title="Country Mänager 2",
            contact_email="invalid_email2",
        )

        outdated_client_survey = publish.CopyToClient(survey)
        # Index the object with an older modified date
        outdated_client_survey.reindexObject()
        outdated_client_survey.setModificationDate("2013")
        outdated_client_survey.reindexObject(idxs=["modified"])

        sector_de = createSector(self.portal, id="sector_de", country="de")
        survey_de = addSurvey(sector_de, BASIC_SURVEY)
        publish.CopyToClient(survey_de)
        self.mail_fixture = MockMailFixture()
        self.portal.email_from_address = "*****@*****.**"
        self.portal.email_from_name = "Euphorie website"
예제 #2
0
 def testDeleteWithoutPublishedSurvey(self):
     sector = createSector(self.portal)
     addSurvey(sector, EMPTY_SURVEY)
     surveygroup = sector["test-survey"]
     self.assertEqual(surveygroup.published, None)
     deleteaction = getMultiAdapter((sector, sector.REQUEST), name="delete")
     self.assertEqual(deleteaction.verify(sector.aq_parent, sector), True)
예제 #3
0
    def afterSetUp(self):
        super(OutdatedToolsTests, self).afterSetUp()
        self.loginAsPortalOwner()
        sector = createSector(self.portal)
        sector.contact_name = u'Sectör NL'
        sector.contact_email = u'*****@*****.**'

        survey = addSurvey(sector, BASIC_SURVEY)
        nl = sector.aq_parent
        # User invalid emails to skip an event handler
        nl.invokeFactory(
            'euphorie.countrymanager',
            'nl-cm-1',
            title=u'Country Mänager 1',
            contact_email='invalid_email1',
        )
        nl.invokeFactory(
            'euphorie.countrymanager',
            'nl-cm-2',
            title=u'Country Mänager 2',
            contact_email='invalid_email2',
        )

        outdated_client_survey = publish.CopyToClient(survey)
        # Index the object with an older modified date
        outdated_client_survey.reindexObject()
        outdated_client_survey.setModificationDate('2013')
        outdated_client_survey.reindexObject(idxs=['modified'])

        sector_de = createSector(self.portal, id='sector_de', country='de')
        survey_de = addSurvey(sector_de, BASIC_SURVEY)
        client_survey_de = publish.CopyToClient(survey_de)
        self.mail_fixture = MockMailFixture()
        self.portal.email_from_address = "*****@*****.**"
        self.portal.email_from_name = "Euphorie website"
예제 #4
0
 def testTwoUnpublishedSurveysgroups(self):
     sector = createSector(self.portal)
     survey = addSurvey(sector, EMPTY_SURVEY)
     addSurvey(sector, EMPTY_SURVEY, "Test survey 2")
     result = self.getSurveys(survey)
     self.assertEqual(len(result), 2)
     self.assertEqual(result[0]["title"], "Test survey")
     self.assertEqual(result[1]["title"], "Test survey 2")
예제 #5
0
 def testDeleteWithoutPublishedSurvey(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     from euphorie.content.tests.utils import EMPTY_SURVEY
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     addSurvey(sector, EMPTY_SURVEY)
     surveygroup = sector["test-survey"]
     self.assertEqual(surveygroup.published, None)
     deleteaction = getMultiAdapter((sector, sector.REQUEST), name='delete')
     self.assertEqual(deleteaction.verify(sector.aq_parent, sector), True)
 def testDeleteWithoutPublishedSurvey(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     from euphorie.content.tests.utils import EMPTY_SURVEY
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     addSurvey(sector, EMPTY_SURVEY)
     surveygroup = sector["test-survey"]
     self.assertEqual(surveygroup.published, None)
     deleteaction = getMultiAdapter((sector, sector.REQUEST), name='delete')
     self.assertEqual(deleteaction.verify(sector.aq_parent, sector), True)
 def testTwoUnpublishedSurveysgroups(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     from euphorie.content.tests.utils import EMPTY_SURVEY
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector, EMPTY_SURVEY)
     addSurvey(sector, EMPTY_SURVEY, "Test survey 2")
     result = self.getSurveys(survey)
     self.assertEqual(len(result), 2)
     self.assertEqual(result[0]["title"], u"Test survey")
     self.assertEqual(result[1]["title"], u"Test survey 2")
예제 #8
0
 def testTwoUnpublishedSurveysgroups(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     from euphorie.content.tests.utils import EMPTY_SURVEY
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector, EMPTY_SURVEY)
     addSurvey(sector, EMPTY_SURVEY, "Test survey 2")
     result = self.getSurveys(survey)
     self.assertEqual(len(result), 2)
     self.assertEqual(result[0]["title"], u"Test survey")
     self.assertEqual(result[1]["title"], u"Test survey 2")
예제 #9
0
    def create(self):
        from euphorie.content.tests.utils import createSector
        from euphorie.content.tests.utils import addSurvey
        from euphorie.content.tests.utils import EMPTY_SURVEY

        sector = createSector(self.portal)
        return addSurvey(sector, EMPTY_SURVEY)
예제 #10
0
    def testImageFromOtherSectorAccount(self):
        # http://code.simplon.biz/tracker/euphorie/ticket/143
        import re
        from euphorie.content.tests.utils import createSector
        from euphorie.content.tests.utils import addSurvey
        from Products.Five.testbrowser import Browser

        sector = createSector(self.portal, login="******")
        self.loginAsPortalOwner()
        survey = addSurvey(sector)
        createSector(self.portal, id="sector2", login="******", password="******")
        self.logout()
        browser = Browser()
        browser.open("%s/@@login" % self.portal.absolute_url())
        browser.getControl(name="__ac_name").value = "sector2"
        browser.getControl(name="__ac_password").value = "sector2"
        browser.getForm(id="loginForm").submit()
        risk = survey["1"]["2"]
        browser.open(risk.absolute_url())
        match = re.search(r'<div class="introduction">\s*<img[^>]+src="([^"]+)', browser.contents)
        self.assertTrue(match)
        image_url = match.group(1)
        browser.open(image_url)
        self.assertEqual(browser.isHtml, False)
        self.assertEqual(browser.headers.maintype, "image")
예제 #11
0
 def testImageFromOtherSectorAccount(self):
     # http://code.simplon.biz/tracker/euphorie/ticket/143
     import re
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     from Products.Five.testbrowser import Browser
     sector = createSector(self.portal, login="******")
     self.loginAsPortalOwner()
     survey = addSurvey(sector)
     createSector(self.portal,
                  id="sector2",
                  login="******",
                  password="******")
     self.logout()
     browser = Browser()
     browser.open("%s/@@login" % self.portal.absolute_url())
     browser.getControl(name="__ac_name").value = "sector2"
     browser.getControl(name="__ac_password").value = "sector2"
     browser.getForm(id="loginForm").submit()
     risk = survey["1"]["2"]
     browser.open(risk.absolute_url())
     match = re.search(
         r'<div class="introduction">\s*<img[^>]+src="([^"]+)',
         browser.contents)
     self.assertTrue(match)
     image_url = match.group(1)
     browser.open(image_url)
     self.assertEqual(browser.isHtml, False)
     self.assertEqual(browser.headers.maintype, "image")
예제 #12
0
 def testSingleUnpublishedSurvey(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     from euphorie.content.tests.utils import EMPTY_SURVEY
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector, EMPTY_SURVEY)
     self.assertEqual(self.getSurveys(survey), [{
         "url":
         "http://nohost/plone/sectors/nl/sector/test-survey",
         "published":
         False,
         "id":
         "test-survey",
         "title":
         u"Test survey",
         "surveys": [{
             "id": "standard-version",
             "title": u"Standard version",
             "current": True,
             "url": "http://nohost/plone/sectors/nl/sector/"
             "test-survey/standard-version",
             "versions": [],
             "modified": False,
             "published": False
         }],
     }])
예제 #13
0
 def testSingleUnpublishedSurvey(self):
     sector = createSector(self.portal)
     survey = addSurvey(sector, EMPTY_SURVEY)
     self.assertEqual(
         self.getSurveys(survey),
         [{
             "url":
             "http://nohost/plone/sectors/nl/sector/test-survey",
             "published":
             False,
             "id":
             "test-survey",
             "title":
             "Test survey",
             "surveys": [{
                 "id": "standard-version",
                 "title": "Standard version",
                 "current": True,
                 "url": "http://nohost/plone/sectors/nl/sector/"
                 "test-survey/standard-version",
                 "versions": [],
                 "modified": False,
                 "published": False,
                 "publication_date": None,
             }],
         }],
     )
예제 #14
0
 def testPublishedSurvey(self):
     sector = createSector(self.portal)
     survey = addSurvey(sector, EMPTY_SURVEY)
     surveygroup = sector["test-survey"]
     surveygroup.published = "standard-version"
     result = self.getSurveys(survey)
     self.assertEqual(result[0]["published"], True)
     self.assertEqual(result[0]["surveys"][0]["published"], True)
예제 #15
0
 def testDeleteWithPublishedSurvey(self):
     sector = createSector(self.portal)
     survey = addSurvey(sector, EMPTY_SURVEY)
     surveygroup = sector["test-survey"]
     publishview = getMultiAdapter((survey, survey.REQUEST), name="publish")
     publishview.publish()
     self.assertEqual(surveygroup.published, "standard-version")
     deleteaction = getMultiAdapter((sector, sector.REQUEST), name="delete")
     self.assertEqual(deleteaction.verify(sector.aq_parent, sector), False)
예제 #16
0
 def test_render(self):
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector, BASIC_SURVEY)
     browser = self.adminBrowser()
     browser.handleErrors = False
     with mock.patch("euphorie.content.library.get_library", return_value=self.library):
         browser.open(survey.absolute_url() + "/@@library")
     assert "Library Sector Title" in browser.contents
     assert "Library Survey Title" in browser.contents
     assert "Library Risk" in browser.contents
예제 #17
0
파일: test_v3.py 프로젝트: EU-OSHA/Euphorie
 def test_text_description(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector)
     risk = survey['1']['2']
     risk.invokeFactory('euphorie.solution', '3')
     solution = risk['3']
     solution.description = u'This is my description.'
     self.convert_solution_description_to_text(self.portal)
     self.assertEqual(solution.description, u'This is my description.')
예제 #18
0
 def testPreviewGetsCorrectUrl(self):
     # Test for http://code.simplon.biz/tracker/tno-euphorie/ticket/95
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector)
     view = survey.restrictedTraverse("@@preview")
     preview = view.publish()
     self.assertEqual(preview.id, "preview")
     self.assertEqual(preview.absolute_url(),
                      "http://nohost/plone/client/nl/sector/preview")
예제 #19
0
 def test_render(self):
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector, BASIC_SURVEY)
     browser = self.adminBrowser()
     browser.handleErrors = False
     with mock.patch('euphorie.content.library.get_library',
                     return_value=self.library):
         browser.open(survey.absolute_url() + '/@@library')
     assert 'Library Sector Title' in browser.contents
     assert 'Library Survey Title' in browser.contents
     assert 'Library Risk' in browser.contents
예제 #20
0
 def testPublishedSurvey(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     from euphorie.content.tests.utils import EMPTY_SURVEY
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector, EMPTY_SURVEY)
     surveygroup = sector["test-survey"]
     surveygroup.published = "standard-version"
     result = self.getSurveys(survey)
     self.assertEqual(result[0]["published"], True)
     self.assertEqual(result[0]["surveys"][0]["published"], True)
예제 #21
0
 def testPublishedSurvey(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     from euphorie.content.tests.utils import EMPTY_SURVEY
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector, EMPTY_SURVEY)
     surveygroup = sector["test-survey"]
     surveygroup.published = "standard-version"
     result = self.getSurveys(survey)
     self.assertEqual(result[0]["published"], True)
     self.assertEqual(result[0]["surveys"][0]["published"], True)
예제 #22
0
 def testDeleteWithPublishedSurvey(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     from euphorie.content.tests.utils import EMPTY_SURVEY
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector, EMPTY_SURVEY)
     surveygroup = sector["test-survey"]
     publishview = getMultiAdapter((survey, survey.REQUEST), name='publish')
     publishview.publish()
     self.assertEqual(surveygroup.published, "standard-version")
     deleteaction = getMultiAdapter((sector, sector.REQUEST), name='delete')
     self.assertEqual(deleteaction.verify(sector.aq_parent, sector), False)
예제 #23
0
 def test_text_description(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector)
     risk = survey['1']['2']
     risk.invokeFactory('euphorie.solution', '3')
     solution = risk['3']
     solution.description = u'This is my description.'
     self.convert_solution_description_to_text(self.portal)
     self.assertEqual(solution.description,
             u'This is my description.')
예제 #24
0
 def testSurveygroupTwoSurveys(self):
     sector = createSector(self.portal)
     survey = addSurvey(sector, EMPTY_SURVEY)
     surveygroup = sector["test-survey"]
     surveygroup.invokeFactory("euphorie.survey",
                               "next-edition",
                               title="Very latest")
     result = self.getSurveys(survey)
     self.assertEqual(len(result), 1)
     self.assertEqual(len(result[0]["surveys"]), 2)
     self.assertEqual(result[0]["surveys"][0]["current"], True)
     self.assertEqual(result[0]["surveys"][1]["current"], False)
     self.assertEqual(result[0]["surveys"][1]["title"], "Very latest")
예제 #25
0
 def testDeleteWithPublishedSurvey(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     from euphorie.content.tests.utils import EMPTY_SURVEY
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector, EMPTY_SURVEY)
     surveygroup = sector["test-survey"]
     publishview = getMultiAdapter((survey, survey.REQUEST), name='publish')
     publishview.publish()
     self.assertEqual(surveygroup.published, "standard-version")
     deleteaction = getMultiAdapter((sector, sector.REQUEST), name='delete')
     self.assertEqual(deleteaction.verify(sector.aq_parent, sector), False)
예제 #26
0
 def testPreviewGetsCorrectUrl(self):
     # Test for http://code.simplon.biz/tracker/tno-euphorie/ticket/95
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector)
     view = survey.restrictedTraverse("@@preview")
     preview = view.publish()
     self.assertEqual(preview.id, "preview")
     self.assertEqual(
             preview.absolute_url(),
             "http://nohost/plone/client/nl/sector/preview")
예제 #27
0
 def test_risk_with_interfaces_already_set(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     from euphorie.content.risk import IKinneyEvaluation
     from euphorie.content.risk import IFrenchEvaluation
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector)
     risk = survey["1"]["2"]
     self.assertTrue(IKinneyEvaluation.providedBy(risk))
     self.assertTrue(not IFrenchEvaluation.providedBy(risk))
     self.set_evaluation_method_interfaces(self.portal)
     self.assertTrue(IKinneyEvaluation.providedBy(risk))
     self.assertTrue(not IFrenchEvaluation.providedBy(risk))
예제 #28
0
 def test_render(self):
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     with api.env.adopt_user("admin"):
         survey = addSurvey(sector, BASIC_SURVEY)
     browser = self.get_browser(logged_in=True)
     browser.handleErrors = False
     with mock.patch(
         "euphorie.content.browser.library.get_library", return_value=self.library
     ):
         browser.open(survey.absolute_url() + "/@@library")
     assert "Library Sector Title" in browser.contents
     assert "Library Survey Title" in browser.contents
     assert "Library Risk" in browser.contents
예제 #29
0
파일: test_v3.py 프로젝트: EU-OSHA/Euphorie
 def test_risk_with_interfaces_already_set(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     from euphorie.content.risk import IKinneyEvaluation
     from euphorie.content.risk import IFrenchEvaluation
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector)
     risk = survey["1"]["2"]
     self.assertTrue(IKinneyEvaluation.providedBy(risk))
     self.assertTrue(not IFrenchEvaluation.providedBy(risk))
     self.set_evaluation_method_interfaces(self.portal)
     self.assertTrue(IKinneyEvaluation.providedBy(risk))
     self.assertTrue(not IFrenchEvaluation.providedBy(risk))
예제 #30
0
파일: test_v3.py 프로젝트: EU-OSHA/Euphorie
 def test_set_kinney_interface(self):
     from zope.interface import noLongerProvides
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     from euphorie.content.risk import IKinneyEvaluation
     from euphorie.content.risk import IFrenchEvaluation
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector)
     risk = survey["1"]["2"]
     noLongerProvides(risk, IKinneyEvaluation)
     self.assertTrue(not IKinneyEvaluation.providedBy(risk))
     self.set_evaluation_method_interfaces(self.portal)
     self.assertTrue(IKinneyEvaluation.providedBy(risk))
     self.assertTrue(not IFrenchEvaluation.providedBy(risk))
예제 #31
0
 def test_set_kinney_interface(self):
     from zope.interface import noLongerProvides
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     from euphorie.content.risk import IKinneyEvaluation
     from euphorie.content.risk import IFrenchEvaluation
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector)
     risk = survey["1"]["2"]
     noLongerProvides(risk, IKinneyEvaluation)
     self.assertTrue(not IKinneyEvaluation.providedBy(risk))
     self.set_evaluation_method_interfaces(self.portal)
     self.assertTrue(IKinneyEvaluation.providedBy(risk))
     self.assertTrue(not IFrenchEvaluation.providedBy(risk))
예제 #32
0
 def testSurveygroupTwoSurveys(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     from euphorie.content.tests.utils import EMPTY_SURVEY
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector, EMPTY_SURVEY)
     surveygroup = sector["test-survey"]
     surveygroup.invokeFactory("euphorie.survey", "next-edition",
             title=u"Very latest")
     result = self.getSurveys(survey)
     self.assertEqual(len(result), 1)
     self.assertEqual(len(result[0]["surveys"]), 2)
     self.assertEqual(result[0]["surveys"][0]["current"], True)
     self.assertEqual(result[0]["surveys"][1]["current"], False)
     self.assertEqual(result[0]["surveys"][1]["title"], u"Very latest")
예제 #33
0
 def testSurveygroupTwoSurveys(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     from euphorie.content.tests.utils import EMPTY_SURVEY
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector, EMPTY_SURVEY)
     surveygroup = sector["test-survey"]
     surveygroup.invokeFactory("euphorie.survey",
                               "next-edition",
                               title=u"Very latest")
     result = self.getSurveys(survey)
     self.assertEqual(len(result), 1)
     self.assertEqual(len(result[0]["surveys"]), 2)
     self.assertEqual(result[0]["surveys"][0]["current"], True)
     self.assertEqual(result[0]["surveys"][1]["current"], False)
     self.assertEqual(result[0]["surveys"][1]["title"], u"Very latest")
예제 #34
0
 def testSingleUnpublishedSurvey(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     from euphorie.content.tests.utils import EMPTY_SURVEY
     self.loginAsPortalOwner()
     sector = createSector(self.portal)
     survey = addSurvey(sector, EMPTY_SURVEY)
     self.assertEqual(self.getSurveys(survey),
             [{"url": "http://nohost/plone/sectors/nl/sector/test-survey",
               "published": False,
               "id": "test-survey",
               "title": u"Test survey",
               "surveys": [
                   {"id": "standard-version",
                    "title": u"Standard version",
                    "current": True,
                    "url": "http://nohost/plone/sectors/nl/sector/"
                             "test-survey/standard-version",
                    "versions": [],
                    "modified": False,
                    "published": False}],
              }])
예제 #35
0
 def create(self):
     sector = createSector(self.portal)
     return addSurvey(sector, EMPTY_SURVEY)
예제 #36
0
 def createSurvey(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     sector = createSector(self.portal, login='******')
     survey = addSurvey(sector)
     return survey
예제 #37
0
 def createSurvey(self):
     sector = createSector(self.portal)
     survey = addSurvey(sector)
     return survey
예제 #38
0
 def createSurvey(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     sector = createSector(self.portal)
     survey = addSurvey(sector)
     return survey
예제 #39
0
 def createSurvey(self):
     sector = createSector(self.portal, login="******")
     survey = addSurvey(sector)
     return survey
예제 #40
0
 def create(self):
     from euphorie.content.tests.utils import createSector
     from euphorie.content.tests.utils import addSurvey
     from euphorie.content.tests.utils import EMPTY_SURVEY
     sector = createSector(self.portal)
     return addSurvey(sector, EMPTY_SURVEY)