示例#1
0
 def testModule_WithRisk(self):
     from euphorie.content.module import Module
     from euphorie.content.risk import Risk
     module = Module()
     module.title = u"Office buildings"
     module.description = u"<p>Owning property brings risks.</p>"
     module.optional = False
     module.solution_direction = None
     risk = Risk()
     risk.type = "top5"
     risk.title = u"Can your windows be locked?"
     risk.problem_description = u"Not all your windows can be locked"
     risk.description = u"<p>Locking windows is critical.</p>"
     risk.legal_reference = None
     risk.show_notapplicable = False
     module["1"] = risk
     root = self.root()
     view = ExportSurvey(None, None)
     view.exportModule(root, module)
     self.assertEqual(etree.tostring(root, pretty_print=True),
             '<root xmlns="http://xml.simplon.biz/euphorie/survey/1.0">\n'
             '  <module optional="false">\n'
             '    <title>Office buildings</title>\n'
             '    <description>&lt;p&gt;Owning property brings risks.'
             '&lt;/p&gt;</description>\n'
             '    <risk type="top5">\n'
             '      <title>Can your windows be locked?</title>\n'
             '      <problem-description>Not all your windows can be '
             'locked</problem-description>\n'
             '      <description>&lt;p&gt;Locking windows is critical.'
             '&lt;/p&gt;</description>\n'
             '      <show-not-applicable>false</show-not-applicable>\n'
             '    </risk>\n'
             '  </module>\n'
             '</root>\n')
示例#2
0
 def testModule_WithSubModule(self):
     from euphorie.content.module import Module
     module = Module()
     module.title = u"Office buildings"
     module.description = u"<p>Owning property brings risks.</p>"
     module.optional = False
     module.solution_direction = None
     submodule = Module()
     submodule.title = u"Parking"
     submodule.description = u"<p>All about parking garages.</p>"
     submodule.optional = False
     submodule.solution_direction = None
     module["1"] = submodule
     root = self.root()
     view = ExportSurvey(None, None)
     view.exportModule(root, module)
     self.assertEqual(etree.tostring(root, pretty_print=True),
             '<root xmlns="http://xml.simplon.biz/euphorie/survey/1.0">\n'
             '  <module optional="false">\n'
             '    <title>Office buildings</title>\n'
             '    <description>&lt;p&gt;Owning property brings risks.'
             '&lt;/p&gt;</description>\n'
             '    <module optional="false">\n'
             '      <title>Parking</title>\n'
             '      <description>&lt;p&gt;All about parking garages.'
             '&lt;/p&gt;</description>\n'
             '    </module>\n'
             '  </module>\n'
             '</root>\n')
示例#3
0
 def testProfileQuestion_WithModule(self):
     from euphorie.content.profilequestion import ProfileQuestion
     from euphorie.content.module import Module
     profile = ProfileQuestion()
     profile.title = u"Office buildings"
     profile.question = u"Do you have an office buildings?"
     profile.description = u"<p>Owning property brings risks.</p>"
     profile.type = "optional"
     module = Module()
     module.title = u"Office buildings"
     module.description = u"<p>Owning property brings risks.</p>"
     module.optional = False
     module.solution_direction = None
     profile["1"] = module
     root = self.root()
     view = ExportSurvey(None, None)
     view.exportProfileQuestion(root, profile)
     self.assertEqual(etree.tostring(root, pretty_print=True),
             '<root xmlns="http://xml.simplon.biz/euphorie/survey/1.0">\n'
             '  <profile-question>\n'
             '    <title>Office buildings</title>\n'
             '    <question>Do you have an office buildings?</question>\n'
             '    <description>&lt;p&gt;Owning property brings '
             'risks.&lt;/p&gt;</description>\n'
             '    <module optional="false">\n'
             '      <title>Office buildings</title>\n'
             '      <description>&lt;p&gt;Owning property brings '
             'risks.&lt;/p&gt;</description>\n'
             '    </module>\n'
             '  </profile-question>\n'
             '</root>\n')
示例#4
0
 def testModule_with_description(self):
     from euphorie.content.module import Module
     module = Module()
     module.title = u"Office buildings"
     module.description = u"<p>Owning property brings risks.</p>"
     module.solution_direction = None
     module.optional = False
     root = self.root()
     view = ExportSurvey(None, None)
     view.exportModule(root, module)
     xml = etree.tostring(root, pretty_print=True)
     self.assertTrue(
             '<description>&lt;p&gt;Owning property brings risks.'
             '&lt;/p&gt;</description>\n' in xml)
示例#5
0
 def testModule_WithRisk(self):
     module = Module()
     module.title = "Office buildings"
     module.description = "<p>Owning property brings risks.</p>"
     module.optional = False
     module.solution_direction = None
     risk = Risk()
     risk.type = "top5"
     risk.title = "Can your windows be locked?"
     risk.problem_description = "Not all your windows can be locked"
     risk.description = "<p>Locking windows is critical.</p>"
     risk.legal_reference = None
     risk.show_notapplicable = False
     module._setOb("1", risk)
     root = self.root()
     view = ExportSurvey(None, None)
     view.exportModule(root, module)
     self.assertEqual(
         safe_nativestring(etree.tostring(root, pretty_print=True)),
         '<root xmlns="http://xml.simplon.biz/euphorie/survey/1.0">\n'
         '  <module optional="false">\n'
         "    <title>Office buildings</title>\n"
         "    <description>&lt;p&gt;Owning property brings risks."
         "&lt;/p&gt;</description>\n"
         '    <risk type="top5">\n'
         "      <title>Can your windows be locked?</title>\n"
         "      <problem-description>Not all your windows can be "
         "locked</problem-description>\n"
         "      <description>&lt;p&gt;Locking windows is critical."
         "&lt;/p&gt;</description>\n"
         "      <show-not-applicable>false</show-not-applicable>\n"
         "    </risk>\n"
         "  </module>\n"
         "</root>\n",
     )
示例#6
0
 def testModule_Minimal(self):
     from euphorie.content.module import Module
     module = Module()
     module.title = u"Office buildings"
     module.optional = False
     module.solution_direction = None
     root = self.root()
     view = ExportSurvey(None, None)
     node = view.exportModule(root, module)
     self.assertTrue(node in root)
     self.assertEqual(etree.tostring(root, pretty_print=True),
             '<root xmlns="http://xml.simplon.biz/euphorie/survey/1.0">\n'
             '  <module optional="false">\n'
             '    <title>Office buildings</title>\n'
             '  </module>\n'
             '</root>\n')
示例#7
0
 def testModule_Minimal(self):
     module = Module()
     module.title = "Office buildings"
     module.optional = False
     module.solution_direction = None
     root = self.root()
     view = ExportSurvey(None, None)
     node = view.exportModule(root, module)
     self.assertTrue(node in root)
     self.assertEqual(
         safe_nativestring(etree.tostring(root, pretty_print=True)),
         '<root xmlns="http://xml.simplon.biz/euphorie/survey/1.0">\n'
         '  <module optional="false">\n'
         "    <title>Office buildings</title>\n"
         "  </module>\n"
         "</root>\n",
     )
示例#8
0
 def testModule_SolutionDirectionNoText(self):
     from euphorie.content.module import Module
     module = Module()
     module.title = u"Office buildings"
     module.description = u"<p>Owning property brings risks.</p>"
     module.optional = False
     module.solution_direction = u"<p><br/></p>"
     root = self.root()
     view = ExportSurvey(None, None)
     view.exportModule(root, module)
     self.assertEqual(etree.tostring(root, pretty_print=True),
             '<root xmlns="http://xml.simplon.biz/euphorie/survey/1.0">\n'
             '  <module optional="false">\n'
             '    <title>Office buildings</title>\n'
             '    <description>&lt;p&gt;Owning property brings risks.'
             '&lt;/p&gt;</description>\n'
             '  </module>\n'
             '</root>\n')
示例#9
0
 def testProfileQuestion_WithModule(self):
     profile = ProfileQuestion()
     profile.title = "Office buildings"
     profile.question = "Do you have an office buildings?"
     profile.description = "<p>Owning property brings risks.</p>"
     module = Module()
     module.title = "Office buildings"
     module.description = "<p>Owning property brings risks.</p>"
     module.optional = False
     module.solution_direction = None
     profile._setOb("1", module)
     root = self.root()
     view = ExportSurvey(None, None)
     view.exportProfileQuestion(root, profile)
     self.assertEqual(
         safe_nativestring(etree.tostring(root, pretty_print=True)),
         '<root xmlns="http://xml.simplon.biz/euphorie/survey/1.0">\n'
         "  <profile-question>\n"
         "    <title>Office buildings</title>\n"
         "    <question>Do you have an office buildings?</question>\n"
         "    <description>&lt;p&gt;Owning property brings "
         "risks.&lt;/p&gt;</description>\n"
         "    <use-location-question>true</use-location-question>\n"
         '    <module optional="false">\n'
         "      <title>Office buildings</title>\n"
         "      <description>&lt;p&gt;Owning property brings "
         "risks.&lt;/p&gt;</description>\n"
         "    </module>\n"
         "  </profile-question>\n"
         "</root>\n",
     )
示例#10
0
 def testProfileQuestion_WithModule(self):
     from euphorie.content.profilequestion import ProfileQuestion
     from euphorie.content.module import Module
     profile = ProfileQuestion()
     profile.title = u"Office buildings"
     profile.question = u"Do you have an office buildings?"
     profile.description = u"<p>Owning property brings risks.</p>"
     module = Module()
     module.title = u"Office buildings"
     module.description = u"<p>Owning property brings risks.</p>"
     module.optional = False
     module.solution_direction = None
     profile["1"] = module
     root = self.root()
     view = ExportSurvey(None, None)
     view.exportProfileQuestion(root, profile)
     self.assertEqual(
         etree.tostring(root, pretty_print=True),
         '<root xmlns="http://xml.simplon.biz/euphorie/survey/1.0">\n'
         '  <profile-question>\n'
         '    <title>Office buildings</title>\n'
         '    <question>Do you have an office buildings?</question>\n'
         '    <description>&lt;p&gt;Owning property brings '
         'risks.&lt;/p&gt;</description>\n'
         '    <use-location-question>true</use-location-question>\n'
         '    <module optional="false">\n'
         '      <title>Office buildings</title>\n'
         '      <description>&lt;p&gt;Owning property brings '
         'risks.&lt;/p&gt;</description>\n'
         '    </module>\n'
         '  </profile-question>\n'
         '</root>\n')
示例#11
0
 def testSurvey_WithModule(self):
     from euphorie.content.surveygroup import SurveyGroup
     from euphorie.content.survey import Survey
     from euphorie.content.module import Module
     surveygroup = SurveyGroup()
     surveygroup.title = u"Generic sector"
     surveygroup["standard"] = Survey()
     survey = surveygroup["standard"]  # Acquisition wrap
     survey.title = u"Generic sector"
     survey.introduction = None
     survey.classification_code = None
     survey.evaluation_optional = False
     survey.language = "en-GB"
     module = Module()
     module.title = u"Office buildings"
     module.description = u"<p>Owning property brings risks.</p>"
     module.optional = False
     module.solution_direction = None
     survey["1"] = module
     root = self.root()
     view = ExportSurvey(None, None)
     view.exportSurvey(root, survey)
     self.assertEqual(etree.tostring(root, pretty_print=True),
             '<root xmlns="http://xml.simplon.biz/euphorie/survey/1.0">\n'
             '  <survey>\n'
             '    <title>Generic sector</title>\n'
             '    <language>en-GB</language>\n'
             '    <evaluation-algorithm>kinney</evaluation-algorithm>\n'
             '    <evaluation-optional>false</evaluation-optional>\n'
             '    <module optional="false">\n'
             '      <title>Office buildings</title>\n'
             '      <description>&lt;p&gt;Owning property brings '
             'risks.&lt;/p&gt;</description>\n'
             '    </module>\n'
             '  </survey>\n'
             '</root>\n')
示例#12
0
 def testModule_with_description(self):
     module = Module()
     module.title = "Office buildings"
     module.description = "<p>Owning property brings risks.</p>"
     module.solution_direction = None
     module.optional = False
     root = self.root()
     view = ExportSurvey(None, None)
     view.exportModule(root, module)
     xml = safe_nativestring(etree.tostring(root, pretty_print=True))
     self.assertTrue("<description>&lt;p&gt;Owning property brings risks."
                     "&lt;/p&gt;</description>\n" in xml)
示例#13
0
 def testModule_with_description(self):
     from euphorie.content.module import Module
     module = Module()
     module.title = u"Office buildings"
     module.description = u"<p>Owning property brings risks.</p>"
     module.solution_direction = None
     module.optional = False
     root = self.root()
     view = ExportSurvey(None, None)
     view.exportModule(root, module)
     xml = etree.tostring(root, pretty_print=True)
     self.assertTrue('<description>&lt;p&gt;Owning property brings risks.'
                     '&lt;/p&gt;</description>\n' in xml)
示例#14
0
 def testModule_Optional(self):
     module = Module()
     module.title = "Office buildings"
     module.description = "<p>Owning property brings risks.</p>"
     module.optional = True
     module.question = "Do you have an office building?"
     module.solution_direction = None
     root = self.root()
     view = ExportSurvey(None, None)
     view.exportModule(root, module)
     self.assertEqual(
         safe_nativestring(etree.tostring(root, pretty_print=True)),
         '<root xmlns="http://xml.simplon.biz/euphorie/survey/1.0">\n'
         '  <module optional="true">\n'
         "    <title>Office buildings</title>\n"
         "    <description>&lt;p&gt;Owning property brings risks."
         "&lt;/p&gt;</description>\n"
         "    <question>Do you have an office building?</question>\n"
         "  </module>\n"
         "</root>\n",
     )
示例#15
0
 def testModule_Image(self):
     from euphorie.content.module import Module
     module = Module()
     module.title = u"Office buildings"
     module.description = u"<p>Owning property brings risks.</p>"
     module.optional = False
     module.solution_direction = None
     module.image = MockImage("hot stuff here")
     root = self.root()
     view = ExportSurvey(None, None)
     view.exportModule(root, module)
     self.assertEqual(
         etree.tostring(root, pretty_print=True),
         '<root xmlns="http://xml.simplon.biz/euphorie/survey/1.0">\n'
         '  <module optional="false">\n'
         '    <title>Office buildings</title>\n'
         '    <description>&lt;p&gt;Owning property brings risks.'
         '&lt;/p&gt;</description>\n'
         '    <image>aG90IHN0dWZmIGhlcmU=\n'
         '</image>\n'
         '  </module>\n'
         '</root>\n')
示例#16
0
 def testSurvey_WithModule(self):
     surveygroup = SurveyGroup()
     surveygroup.title = "Generic sector"
     surveygroup._setOb("standard", Survey())
     survey = surveygroup["standard"]  # Acquisition wrap
     survey.title = "Generic sector"
     survey.introduction = None
     survey.classification_code = None
     survey.evaluation_optional = False
     survey.language = "en-GB"
     module = Module()
     module.title = "Office buildings"
     module.description = "<p>Owning property brings risks.</p>"
     module.optional = False
     module.solution_direction = None
     survey._setOb("1", module)
     root = self.root()
     view = ExportSurvey(None, None)
     view.exportSurvey(root, survey)
     self.assertEqual(
         safe_nativestring(etree.tostring(root, pretty_print=True)),
         '<root xmlns="http://xml.simplon.biz/euphorie/survey/1.0">\n'
         "  <survey>\n"
         "    <title>Generic sector</title>\n"
         "    <language>en-GB</language>\n"
         "    <tool_type>classic</tool_type>\n"
         "    <measures_text_handling>full</measures_text_handling>\n"
         "    <integrated_action_plan>false</integrated_action_plan>\n"
         "    <evaluation-algorithm>kinney</evaluation-algorithm>\n"
         "    <evaluation-optional>false</evaluation-optional>\n"
         '    <module optional="false">\n'
         "      <title>Office buildings</title>\n"
         "      <description>&lt;p&gt;Owning property brings "
         "risks.&lt;/p&gt;</description>\n"
         "    </module>\n"
         "  </survey>\n"
         "</root>\n",
     )
示例#17
0
 def testSurvey_WithModule(self):
     from euphorie.content.surveygroup import SurveyGroup
     from euphorie.content.survey import Survey
     from euphorie.content.module import Module
     surveygroup = SurveyGroup()
     surveygroup.title = u"Generic sector"
     surveygroup["standard"] = Survey()
     survey = surveygroup["standard"]  # Acquisition wrap
     survey.title = u"Generic sector"
     survey.introduction = None
     survey.classification_code = None
     survey.evaluation_optional = False
     survey.language = "en-GB"
     module = Module()
     module.title = u"Office buildings"
     module.description = u"<p>Owning property brings risks.</p>"
     module.optional = False
     module.solution_direction = None
     survey["1"] = module
     root = self.root()
     view = ExportSurvey(None, None)
     view.exportSurvey(root, survey)
     self.assertEqual(
         etree.tostring(root, pretty_print=True),
         '<root xmlns="http://xml.simplon.biz/euphorie/survey/1.0">\n'
         '  <survey>\n'
         '    <title>Generic sector</title>\n'
         '    <language>en-GB</language>\n'
         '    <evaluation-algorithm>kinney</evaluation-algorithm>\n'
         '    <evaluation-optional>false</evaluation-optional>\n'
         '    <module optional="false">\n'
         '      <title>Office buildings</title>\n'
         '      <description>&lt;p&gt;Owning property brings '
         'risks.&lt;/p&gt;</description>\n'
         '    </module>\n'
         '  </survey>\n'
         '</root>\n')
示例#18
0
 def testModule_WithRisk(self):
     from euphorie.content.module import Module
     from euphorie.content.risk import Risk
     module = Module()
     module.title = u"Office buildings"
     module.description = u"<p>Owning property brings risks.</p>"
     module.optional = False
     module.solution_direction = None
     risk = Risk()
     risk.type = "top5"
     risk.title = u"Can your windows be locked?"
     risk.problem_description = u"Not all your windows can be locked"
     risk.description = u"<p>Locking windows is critical.</p>"
     risk.legal_reference = None
     risk.show_notapplicable = False
     module["1"] = risk
     root = self.root()
     view = ExportSurvey(None, None)
     view.exportModule(root, module)
     self.assertEqual(
         etree.tostring(root, pretty_print=True),
         '<root xmlns="http://xml.simplon.biz/euphorie/survey/1.0">\n'
         '  <module optional="false">\n'
         '    <title>Office buildings</title>\n'
         '    <description>&lt;p&gt;Owning property brings risks.'
         '&lt;/p&gt;</description>\n'
         '    <risk type="top5">\n'
         '      <title>Can your windows be locked?</title>\n'
         '      <problem-description>Not all your windows can be '
         'locked</problem-description>\n'
         '      <description>&lt;p&gt;Locking windows is critical.'
         '&lt;/p&gt;</description>\n'
         '      <show-not-applicable>false</show-not-applicable>\n'
         '    </risk>\n'
         '  </module>\n'
         '</root>\n')
示例#19
0
 def testModule_WithSubModule(self):
     module = Module()
     module.title = "Office buildings"
     module.description = "<p>Owning property brings risks.</p>"
     module.optional = False
     module.solution_direction = None
     submodule = Module()
     submodule.title = "Parking"
     submodule.description = "<p>All about parking garages.</p>"
     submodule.optional = False
     submodule.solution_direction = None
     module._setOb("1", submodule)
     root = self.root()
     view = ExportSurvey(None, None)
     view.exportModule(root, module)
     self.assertEqual(
         safe_nativestring(etree.tostring(root, pretty_print=True)),
         '<root xmlns="http://xml.simplon.biz/euphorie/survey/1.0">\n'
         '  <module optional="false">\n'
         "    <title>Office buildings</title>\n"
         "    <description>&lt;p&gt;Owning property brings risks."
         "&lt;/p&gt;</description>\n"
         '    <module optional="false">\n'
         "      <title>Parking</title>\n"
         "      <description>&lt;p&gt;All about parking garages."
         "&lt;/p&gt;</description>\n"
         "    </module>\n"
         "  </module>\n"
         "</root>\n",
     )
示例#20
0
 def testModule_WithSubModule(self):
     from euphorie.content.module import Module
     module = Module()
     module.title = u"Office buildings"
     module.description = u"<p>Owning property brings risks.</p>"
     module.optional = False
     module.solution_direction = None
     submodule = Module()
     submodule.title = u"Parking"
     submodule.description = u"<p>All about parking garages.</p>"
     submodule.optional = False
     submodule.solution_direction = None
     module["1"] = submodule
     root = self.root()
     view = ExportSurvey(None, None)
     view.exportModule(root, module)
     self.assertEqual(
         etree.tostring(root, pretty_print=True),
         '<root xmlns="http://xml.simplon.biz/euphorie/survey/1.0">\n'
         '  <module optional="false">\n'
         '    <title>Office buildings</title>\n'
         '    <description>&lt;p&gt;Owning property brings risks.'
         '&lt;/p&gt;</description>\n'
         '    <module optional="false">\n'
         '      <title>Parking</title>\n'
         '      <description>&lt;p&gt;All about parking garages.'
         '&lt;/p&gt;</description>\n'
         '    </module>\n'
         '  </module>\n'
         '</root>\n')