def testQuerying(self): (self.session, self.survey) = createSurvey() self.mod1 = model.Module(title=u"Module 1", module_id="1", zodb_path="1", skip_children=False) self.survey.addChild(self.mod1) self.q1 = model.Risk(title=u"Risk 1", risk_id="1", zodb_path="1/1", type="risk", identification="no") self.mod1.addChild(self.q1) self.assertEqual(self.query().count(), 2) self.q2 = model.Risk(title=u"Risk 2", risk_id="2", zodb_path="1/2", type="risk", identification="no", is_custom_risk="true") self.mod1.addChild(self.q1) self.assertEqual(self.query().count(), 2) self.q2 = model.Risk(title=u"Risk 3", risk_id="2", zodb_path="1/3", type="risk", identification="no", is_custom_risk="false") self.mod1.addChild(self.q1) self.assertEqual(self.query().count(), 2)
def test_Question_at_same_level_as_module(self): (session, survey) = createSurvey() session.add(survey) child = model.Risk(title=u"Risk", risk_id="1", zodb_path="1") survey.addChild(child) sister = model.Risk(title=u"Risk", risk_id="2", zodb_path="2") survey.addChild(sister) self.failUnless(navigation.FindNextQuestion(child, survey) is sister)
def testQuestionAtSameModule(self): (session, survey) = createSurvey() child = model.Risk(title=u"Risk 1", risk_id="1", zodb_path="1") survey.addChild(child) sister = model.Risk(title=u"Risk 2", risk_id="2", zodb_path="2") survey.addChild(sister) self.failUnless( navigation.FindPreviousQuestion(sister, survey) is child)
def testQuestionAtPreviousModule(self): (session, survey) = createSurvey() mod1 = model.Module(title=u"Module 1", module_id="1", zodb_path="1") survey.addChild(mod1) q1 = model.Risk(title=u"Risk 1", risk_id="1", zodb_path="1/1") mod1.addChild(q1) mod2 = model.Module(title=u"Module 2", module_id="2", zodb_path="2") survey.addChild(mod2) self.failUnless(navigation.FindPreviousQuestion(mod2, survey) is q1)
def testQuestionAtPreviousModuleWithSkippedChildren(self): (session, survey) = createSurvey() mod1 = model.Module(title=u"Module 1", module_id="1", zodb_path="1", has_description=True, skip_children=True) survey.addChild(mod1) q1 = model.Risk(title=u"Risk 1", risk_id="1", zodb_path="1/1") mod1.addChild(q1) mod2 = model.Module(title=u"Module 2", module_id="2", zodb_path="2") survey.addChild(mod2) self.failUnless(navigation.FindPreviousQuestion(mod2, survey) is mod1)
def testQuestionIsNextModule(self): (session, survey) = createSurvey() mod1 = model.Module(title=u"Module 1", module_id="1", zodb_path="1") survey.addChild(mod1) q1 = model.Risk(title=u"Risk 1", risk_id="1", zodb_path="1/2") mod1.addChild(q1) mod2 = model.Module(title=u"Module 2", module_id="2", zodb_path="2", has_description=True) survey.addChild(mod2) self.failUnless(navigation.FindNextQuestion(q1, survey) is mod2)
def testShowTop5RiskEvenIfNotPresent(self): (session, survey) = createSurvey() mod1 = model.Module(title=u"Module 1", module_id="1", zodb_path="1", skip_children=False) survey.addChild(mod1) q11 = model.Risk(title=u"Risk 1.1", risk_id="1", zodb_path="1/1", identification="yes", risk_type="top5") mod1.addChild(q11) self.failUnless( navigation.FindNextQuestion(mod1, survey, self.filter()) is q11)
def testSkipModuleWithoutRisks(self): (session, survey) = createSurvey() mod1 = model.Module(title=u"Module 1", module_id="1", zodb_path="1", skip_children=False) survey.addChild(mod1) mod11 = model.Module(title=u"Module 1.1", module_id="11", zodb_path="1/1", skip_children=False) mod1.addChild(mod11) self.assertEqual( navigation.FindNextQuestion(mod1, survey, self.filter()), None)
def createSqlData(self): self.request = MockRequest() (self.session, self.survey) = createSurvey() self.request.survey = self.survey self.survey.absolute_url = lambda self=None: "http://nohost" self.session.flush() self.mod1 = self.survey.addChild(model.Module( title=u"module 1", module_id="1", zodb_path="a")) self.q1 = self.mod1.addChild(model.Risk( title=u"question 1", risk_id="1", zodb_path="a/b")) self.session.flush()
def test_ignore_module_without_description(self): (session, survey) = createSurvey() mod1 = model.Module(title=u"Module 1", module_id="1", zodb_path="1") survey.addChild(mod1) q1 = model.Risk(title=u"Risk 1", risk_id="1", zodb_path="1/1") mod1.addChild(q1) mod2 = model.Module(title=u"Module 2", module_id="2", zodb_path="2", has_description=False) survey.addChild(mod2) mod3 = model.Module(title=u"Module 3", module_id="3", zodb_path="3", has_description=True) survey.addChild(mod3) self.failUnless(navigation.FindNextQuestion(q1, survey) is mod3)
def testSkipRiskIfNotPresent(self): (session, survey) = createSurvey() mod1 = model.Module(title=u"Module 1", module_id="1", zodb_path="1", skip_children=False) survey.addChild(mod1) q11 = model.Risk(title=u"Risk 1.1", risk_id="1", zodb_path="1/1", identification="yes") mod1.addChild(q11) self.assertEqual( navigation.FindNextQuestion(mod1, survey, self.filter()), None)
def createSqlData(self): self.request = MockRequest() (self.session, self.survey) = createSurvey() self.survey.restrictedTraverse = lambda x: None self.request.survey = self.survey self.survey.absolute_url = lambda self=None: "http://nohost" self.session.flush() self.mod1 = self.survey.addChild( model.Module(title=u"module 1", module_id="1", zodb_path="a")) self.q1 = self.mod1.addChild( model.Risk(title=u"question 1", risk_id="1", zodb_path="a/b")) self.session.flush()
def testShowModuleWithTop5RiskEvenIfNotPresent(self): (session, survey) = createSurvey() mod1 = model.Module(title=u'Module 1', module_id='1', zodb_path='1', skip_children=False) survey.addChild(mod1) mod11 = model.Module(title=u'Module 1.1', module_id='11', zodb_path='1/1', skip_children=False, has_description=True) mod1.addChild(mod11) q111 = model.Risk(title=u'Risk 1.1.1', risk_id='1', zodb_path='1/1/1', identification='yes', risk_type='top5') mod11.addChild(q111) self.failUnless( navigation.FindNextQuestion(mod1, survey, self.filter()) is mod11)
def createData(self): (self.session, self.survey) = createSurvey() self.mod1 = model.Module(title="Module 1", module_id="1", zodb_path="1", skip_children=True) self.survey.addChild(self.mod1) self.q1 = model.Risk(title="Risk 1", risk_id="1", zodb_path="1/1", type="risk") self.mod1.addChild(self.q1)
def createData(self): (self.session, self.survey) = createSurvey() self.mod1 = model.Module( title=u"Module 1", module_id="1", zodb_path="1", skip_children=True) self.survey.addChild(self.mod1) self.q1 = model.Risk( title=u"Risk 1", risk_id="1", zodb_path="1/1", type="risk") self.mod1.addChild(self.q1)
def testSingleQuestion(self): (session, survey) = createSurvey() child = model.Risk(title=u"Risk", risk_id="1", zodb_path="1") survey.addChild(child) self.failUnless(navigation.FindPreviousQuestion(child, survey) is None)