def test_getShiftsByPersonJSON_true(self):
     key = 3
     shiftPersonListJSON = shiftperson_controller.getShiftsByPersonJSON(key)
     shiftPersonListDict = json.loads(shiftPersonListJSON)
     for rootKey, rootVal in shiftPersonListDict.iteritems():
         self.assertEqual(rootKey, 'Shifts')
         counter = 0
         for shiftJSON in rootVal:
             shift = shifts_controller.extractShiftFromDict(shiftJSON)
             if shift.pk == 1:
                 counter += 1
                 self.assertEqual(shift.startdatetime, datetime.datetime(2013, 7, 12, 12, 0))
                 self.assertEqual(shift.enddatetime, datetime.datetime(2013, 7, 12, 13, 0))
                 self.assertEqual(shift.location, 'Booth A')
                 self.assertEqual(shift.minWorkers, 2)
                 self.assertEqual(shift.maxWorkers, 4)
             elif shift.pk == 3:
                 counter += 1
                 self.assertEqual(shift.startdatetime, datetime.datetime(2013, 7, 12, 14, 0))
                 self.assertEqual(shift.enddatetime, datetime.datetime(2013, 7, 12, 15, 0))
                 self.assertEqual(shift.location, 'Booth A')
                 self.assertEqual(shift.minWorkers, 3)
                 self.assertEqual(shift.maxWorkers, 4)
             elif shift.pk == 4:
                 counter += 1
                 self.assertEqual(shift.startdatetime, datetime.datetime(2013, 7, 12, 15, 0))
                 self.assertEqual(shift.enddatetime, datetime.datetime(2013, 7, 12, 16, 0))
                 self.assertEqual(shift.location, 'Booth A')
                 self.assertEqual(shift.minWorkers, 3)
                 self.assertEqual(shift.maxWorkers, 4)
         self.assertEqual(counter, 3)
    def test_extractShiftFromDict(self):
        control = models.Shift.query.first()
        stringJSON = shifts_controller.shiftToJSON(control)
        data = json.loads(stringJSON)
        target = shifts_controller.extractShiftFromDict(data)

        self.assertEqual(control.pk, target.pk)
        self.assertEqual(control.eventFK, target.eventFK)
        self.assertEqual(control.startdatetime, target.startdatetime)
        self.assertEqual(control.enddatetime, target.enddatetime)
        self.assertEqual(control.location, target.location)
        self.assertEqual(control.minWorkers, target.minWorkers)
        self.assertEqual(control.maxWorkers, target.maxWorkers)