예제 #1
0
 def test_error_models(self):
     'check creation and copying of error models'
     concept = Concept.new_concept('big', 'idea', self.unit, self.user)
     emUL1 = views.create_error_ul(
         Lesson(title='oops', addedBy=self.user, text='foo'), concept,
         self.unit, None)
     emUL2 = views.create_error_ul(
         Lesson(title='oops', addedBy=self.user, text='foo'), concept,
         self.unit, None)
     parent = UnitLesson.objects.get(lesson__concept=concept)
     ulList = concept.copy_error_models(parent)
     self.assertEqual(len(ulList), 2)
     lessons = [ul.lesson for ul in ulList]
     self.assertIn(emUL1.lesson, lessons)
     self.assertIn(emUL2.lesson, lessons)
     self.assertEqual(parent, ulList[0].parent)
     self.assertEqual(parent, ulList[1].parent)
     # test copying parent to a new unit
     unit3 = Unit(title='Another Courselet', addedBy=self.user)
     unit3.save()
     ul3 = parent.copy(unit3, self.user)
     self.assertEqual(ul3.unit, unit3)
     children = list(ul3.get_errors())
     self.assertEqual(len(children), 2)
     lessons = [ul.lesson for ul in children]
     self.assertIn(emUL1.lesson, lessons)
     self.assertIn(emUL2.lesson, lessons)
예제 #2
0
 def test_error_models(self):
     'check creation and copying of error models'
     concept = Concept.new_concept('big', 'idea', self.unit, self.user)
     emUL1 = views.create_error_ul(Lesson(title='oops', addedBy=self.user,
                                 text='foo'), concept, self.unit, None)
     emUL2 = views.create_error_ul(Lesson(title='oops', addedBy=self.user,
                                 text='foo'), concept, self.unit, None)
     parent = UnitLesson.objects.get(lesson__concept=concept)
     ulList = concept.copy_error_models(parent)
     self.assertEqual(len(ulList), 2)
     lessons = [ul.lesson for ul in ulList]
     self.assertIn(emUL1.lesson, lessons)
     self.assertIn(emUL2.lesson, lessons)
     self.assertEqual(parent, ulList[0].parent)
     self.assertEqual(parent, ulList[1].parent)
     # test copying parent to a new unit
     unit3 = Unit(title='Another Courselet', addedBy=self.user)
     unit3.save()
     ul3 = parent.copy(unit3, self.user)
     self.assertEqual(ul3.unit, unit3)
     children = list(ul3.get_errors())
     self.assertEqual(len(children), 2)
     lessons = [ul.lesson for ul in children]
     self.assertIn(emUL1.lesson, lessons)
     self.assertIn(emUL2.lesson, lessons)
예제 #3
0
 def test_error_models(self):
     'check creation and copying of error models'
     concept = Concept.new_concept('big', 'idea', self.unit, self.user)
     lesson = Lesson(title='a test', text='a word', addedBy=self.user)
     lesson.save_root(concept)
     ul = UnitLesson.create_from_lesson(lesson, self.unit)
     emUL1 = views.create_error_ul(
         Lesson(title='oops', addedBy=self.user, text='foo'),
         concept,
         self.unit,
         ul
     )
     emUL2 = views.create_error_ul(
         Lesson(title='oops', addedBy=self.user, text='foo'),
         concept,
         self.unit,
         ul
     )
     parent = UnitLesson.objects.get(lesson__concept=concept)
     ulList = concept.copy_error_models(parent)
     self.assertEqual(len(ulList), 2)
     lessons = [ul.lesson for ul in ulList]
     self.assertIn(emUL1.lesson, lessons)
     self.assertIn(emUL2.lesson, lessons)
     self.assertEqual(parent, ulList[0].parent)
     self.assertEqual(parent, ulList[1].parent)
     # test copying parent to a new unit
     unit3 = Unit(title='Another Courselet', addedBy=self.user)
     unit3.save()
     ul3 = parent.copy(unit3, self.user)
     self.assertEqual(ul3.unit, unit3)
     children = list(ul3.get_errors())
     self.assertEqual(len(children), 2)
     lessons = [ul.lesson for ul in children]
     self.assertIn(emUL1.lesson, lessons)
     self.assertIn(emUL2.lesson, lessons)
     # test adding resolution
     reso = Lesson(title='A resolution', text='now I get it',
                   addedBy=self.user)
     resoUL = ul.save_resolution(reso)
     em, resols = ul.get_em_resolutions()
     resols = list(resols)
     self.assertEqual(resols, [resoUL])
     # test linking a lesson as resolution
     other = Lesson(title='A lesson', text='something else',
                    addedBy=self.user)
     other.save_root()
     otherUL = UnitLesson.create_from_lesson(other, self.unit)
     resoUL2 = ul.copy_resolution(otherUL, self.user)
     em, resols = ul.get_em_resolutions()
     resols = list(resols)
     self.assertEqual(resols, [resoUL, resoUL2])
     # check that it prevents adding duplicate resolutions
     resoUL3 = ul.copy_resolution(otherUL, self.user)
     self.assertEqual(resoUL2, resoUL3)
     em, resols = ul.get_em_resolutions()
     resols = list(resols)
     self.assertEqual(resols, [resoUL, resoUL2])
예제 #4
0
 def test_error_models(self):
     'check creation and copying of error models'
     concept = Concept.new_concept('big', 'idea', self.unit, self.user)
     lesson = Lesson(title='a test', text='a word', addedBy=self.user)
     lesson.save_root(concept)
     ul = UnitLesson.create_from_lesson(lesson, self.unit)
     emUL1 = views.create_error_ul(
         Lesson(title='oops', addedBy=self.user, text='foo'),
         concept,
         self.unit,
         ul
     )
     emUL2 = views.create_error_ul(
         Lesson(title='oops', addedBy=self.user, text='foo'),
         concept,
         self.unit,
         ul
     )
     parent = UnitLesson.objects.get(lesson__concept=concept)
     ulList = concept.copy_error_models(parent)
     self.assertEqual(len(ulList), 2)
     lessons = [ul.lesson for ul in ulList]
     self.assertIn(emUL1.lesson, lessons)
     self.assertIn(emUL2.lesson, lessons)
     self.assertEqual(parent, ulList[0].parent)
     self.assertEqual(parent, ulList[1].parent)
     # test copying parent to a new unit
     unit3 = Unit(title='Another Courselet', addedBy=self.user)
     unit3.save()
     ul3 = parent.copy(unit3, self.user)
     self.assertEqual(ul3.unit, unit3)
     children = list(ul3.get_errors())
     self.assertEqual(len(children), 2)
     lessons = [ul.lesson for ul in children]
     self.assertIn(emUL1.lesson, lessons)
     self.assertIn(emUL2.lesson, lessons)
     # test adding resolution
     reso = Lesson(title='A resolution', text='now I get it',
                   addedBy=self.user)
     resoUL = ul.save_resolution(reso)
     em, resols = ul.get_em_resolutions()
     resols = list(resols)
     self.assertEqual(resols, [resoUL])
     # test linking a lesson as resolution
     other = Lesson(title='A lesson', text='something else',
                    addedBy=self.user)
     other.save_root()
     otherUL = UnitLesson.create_from_lesson(other, self.unit)
     resoUL2 = ul.copy_resolution(otherUL, self.user)
     em, resols = ul.get_em_resolutions()
     resols = list(resols)
     self.assertEqual(resols, [resoUL, resoUL2])
     # check that it prevents adding duplicate resolutions
     resoUL3 = ul.copy_resolution(otherUL, self.user)
     self.assertEqual(resoUL2, resoUL3)
     em, resols = ul.get_em_resolutions()
     resols = list(resols)
     self.assertEqual(resols, [resoUL, resoUL2])