The issue appears to be in the forms_for_survey() method in forms.py:
post is set to none if the user is not authenticated:
def forms_for_survey(survey, request='testing', submission=None):
testing = bool(not request.user.is_authenticated() or request == 'testing')
session_key = "" if testing else request.session.session_key.lower()
post = None if testing else request.POST or None
suggest instead that this should be:
def forms_for_survey(survey, request='testing', submission=None):
testing = bool(request == 'testing')
session_key = "" if testing else request.session.session_key.lower()
post = None if testing else request.POST or None