コード例 #1
0
    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"] == []
コード例 #2
0
    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,
        )
コード例 #3
0
    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())
コード例 #4
0
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)