def test_can_parse_activity(self, flask):
        data = load_json_fixture("runkeeper_1")
        workout = workout_from_activity(data)

        assert data is not None
        assert workout is not None

        assert workout.is_imported == True
        assert workout.workout_type == "running"
        assert workout.equipment_type == "None"
        assert workout.tracking_mode == "outdoor"

        assert workout.distance == data["total_distance"]
        assert workout.calories == data["total_calories"]
        assert workout.climb == data["climb"]
        assert workout.duration == data["duration"]

        # There should be an additional point for the image
        assert workout.points.count() == len(data["path"]) + 1

        assert workout.points[0].longitude == data["path"][0]["longitude"]
        assert workout.points[0].latitude == data["path"][0]["latitude"]
        assert workout.points[0].altitude == data["path"][0]["altitude"]

        # Images have coordinates too
        assert workout.points[497].longitude == data["images"][0]["longitude"]
    def test_saves_parsed_data(self, flask, alice):
        data = load_json_fixture("runkeeper_1")

        workout = workout_from_activity(data)
        identifier = parse_runkeeper_identifier(data["uri"])
        save_and_commit_workout(workout, alice, identifier)

        assert has_synced_workout(identifier, "runkeeper") == True
        assert Workout.query.filter_by(user_id=alice.id).count() == 1