Пример #1
0
    def test_shared_timetable_serialization(self):
        timetable = SharedTimetable.objects.create(semester=self.sem, school='uoft',
                                                   has_conflict=False)
        timetable.courses.add(self.course)
        timetable.sections.add(self.section)

        display = DisplayTimetable.from_model(timetable)
        self.assertEqual(len(display.slots), 1)
        self.assertIsInstance(display.slots[0].course, Course)

        serialized = DisplayTimetableSerializer(display).data
        self.assertEqual(len(serialized['slots']), 1)
        self.assertIsInstance(serialized['slots'][0]['course'], int)
        self.assertEqual(len(serialized['events']), 0)
Пример #2
0
    def test_shared_timetable_serialization(self):
        timetable = SharedTimetable.objects.create(semester=self.sem, school='uoft',
                                                   has_conflict=False)
        timetable.courses.add(self.course)
        timetable.sections.add(self.section)

        display = DisplayTimetable.from_model(timetable)
        self.assertEqual(len(display.slots), 1)
        self.assertIsInstance(display.slots[0].course, Course)

        serialized = DisplayTimetableSerializer(display).data
        self.assertEqual(len(serialized['slots']), 1)
        self.assertIsInstance(serialized['slots'][0]['course'], int)
        self.assertEqual(len(serialized['events']), 0)
Пример #3
0
    def test_personal_timetable_serialization(self):
        timetable = PersonalTimetable.objects.create(semester=self.sem,
                                                     school="uoft",
                                                     has_conflict=False,
                                                     student=self.student)
        timetable.courses.add(self.course)
        timetable.sections.add(self.section)
        timetable.events.add(self.event)

        display = DisplayTimetable.from_model(timetable)
        self.assertEqual(len(display.slots), 1)
        self.assertIsInstance(display.slots[0].course, Course)

        serialized = DisplayTimetableSerializer(display).data
        self.assertEqual(len(serialized["slots"]), 1)
        self.assertIsInstance(serialized["slots"][0]["course"], int)
        self.assertEqual(len(serialized["events"]), 1)
Пример #4
0
 def from_model(cls, timetable, **kwargs):
     if kwargs.get('many') is True:
         timetables = [DisplayTimetable.from_model(tt) for tt in timetable]
         return DisplayTimetableSerializer(timetables, **kwargs)
     return DisplayTimetableSerializer(DisplayTimetable.from_model(timetable), **kwargs)
Пример #5
0
 def from_model(cls, timetable, **kwargs):
     if kwargs.get('many') is True:
         timetables = [DisplayTimetable.from_model(tt) for tt in timetable]
         return DisplayTimetableSerializer(timetables, **kwargs)
     return DisplayTimetableSerializer(
         DisplayTimetable.from_model(timetable), **kwargs)