def test_serialize_with_empty_schedule_items(self): user_schedule = UserSchedule(user_id=self.generate_random_user_item(), name="User Schedule C") serialized_user_schedule = user_schedule.serialize() assert serialized_user_schedule["name"] == user_schedule.name assert serialized_user_schedule["schedule_items"] == []
def test_serialization_contains_required_keys(self): user_schedule = UserSchedule(user_id=self.generate_random_user_item(), name="User Schedule B") serialized_user_schedule = user_schedule.serialize() self.assert_serialization_contains_keys( keys=["id", "name", "created_at", "schedule_items"], serialized_object=serialized_user_schedule, )
def test_serialize_with_schedule_items(self): schedule_item = self.generate_random_schedule_item() user_schedule = UserSchedule( user_id=self.generate_random_user_item(), name="User Schedule A", schedule_items=[schedule_item], ) serialized_user_schedule = user_schedule.serialize() assert serialized_user_schedule["name"] == user_schedule.name assert len(serialized_user_schedule["schedule_items"]) == 1 assert (serialized_user_schedule["schedule_items"][0] == schedule_item.serialize())
def edit_user_schedule(user_id, user_schedule_id): user_schedule = UserSchedule.objects(id=user_schedule_id).first() # If the schedule doesn't exist or the user is mismatched, # create a new one with the same items. if user_schedule is None: user_schedule = UserSchedule(user_id=user_id) elif str(user_schedule.user_id.id) != user_id: name = f'{user_schedule.name} (copied)' user_schedule = UserSchedule(user_id=user_id, name=name) data = request.json user_schedule.clear_schedule_item() for editedScheduleItem in data['schedule_items']: user_schedule.add_schedule_item(**editedScheduleItem) user_schedule.save() return (jsonify({'user_schedule': user_schedule.serialize()}), 200)