def get_labels(context, question, set_prefix='', set_index=0, project=None): if question.questionset.is_collection: set_labels = [] for questionset in question.questionset.get_ancestors(ascending=True, include_self=True): set_label = '#{}'.format(set_index + 1) if questionset.attribute: # get attribute value value = get_value(context, questionset.attribute.uri, set_prefix=set_prefix, set_index=set_index, index=0, project=project) if value: set_label = '"{}"'.format(value['value']) set_labels.append('{} {}'.format(questionset.verbose_name.title() or _('Set'), set_label)) if set_prefix != '': rpartition = set_prefix.rpartition('|') set_prefix, set_index = rpartition[0], int(rpartition[2]) # flip the list set_labels.reverse() return set_labels else: return None
def test_get_value(context, values): path = 'individual/collection/text' assert get_value(context, path).id == values.filter(attribute__path=path).first().id
def test_get_value_project_updated(context): assert get_value(context, 'project/updated').value == context['project'].updated
def test_get_value_project_created(context): assert get_value(context, 'project/created').value == context['project'].created
def test_get_value_project_description(context): assert get_value(context, 'project/description').value == context['project'].description
def test_get_value_project_title(context): assert get_value(context, 'project/title').value == context['project'].title
def test_get_value_project_updated(context): project = Project.objects.get(pk=project_pk) assert get_value(context, 'project/updated')['value'] == project.updated
def test_get_value_project_description(context): project = Project.objects.get(pk=project_pk) assert get_value(context, 'project/description')['value'] == project.description
def test_get_value_project_title(context): project = Project.objects.get(pk=project_pk) assert get_value(context, 'project/title')['value'] == project.title