From 78320661d74aeec6ff98334637d5e44a34dc0b99 Mon Sep 17 00:00:00 2001 From: Paul Marillonnet Date: Fri, 9 Feb 2018 18:33:42 +0100 Subject: [PATCH] WIP api_views: display the list of roles for a user #21485 --- src/authentic2/api_views.py | 5 +++++ tests/test_api.py | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/authentic2/api_views.py b/src/authentic2/api_views.py index 928cb8e4..df5bba94 100644 --- a/src/authentic2/api_views.py +++ b/src/authentic2/api_views.py @@ -311,6 +311,11 @@ class BaseUserSerializer(serializers.ModelSerializer): queryset=get_ou_model().objects.all(), slug_field='slug', required=False, default=get_default_ou) + roles = serializers.SlugRelatedField( + queryset=get_role_model().objects.all(), + slug_field='slug', + many=True, + required=False) date_joined = serializers.DateTimeField(read_only=True) last_login = serializers.DateTimeField(read_only=True) send_registration_email = serializers.BooleanField(write_only=True, required=False, diff --git a/tests/test_api.py b/tests/test_api.py index 96085590..d8559342 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -141,7 +141,7 @@ def test_api_users_list(app, user): assert resp.json['next'] is None -def test_api_users_create(settings, app, api_user): +def test_api_users_create(settings, app, api_user, role_random): from django.contrib.auth import get_user_model from authentic2.models import Attribute, AttributeValue @@ -175,6 +175,7 @@ def test_api_users_create(settings, app, api_user): 'email': 'john.doe@example.net', 'password': 'password', 'title': 'Mr', + 'roles': ['rando'], } if api_user.is_superuser: status = 201 @@ -188,7 +189,7 @@ def test_api_users_create(settings, app, api_user): if api_user.is_superuser or api_user.roles.exists(): assert set(['ou', 'id', 'uuid', 'is_staff', 'is_superuser', 'first_name', 'last_name', 'date_joined', 'last_login', 'username', 'password', 'email', 'is_active', - 'title', 'modified', 'email_verified']) == set(resp.json.keys()) + 'title', 'modified', 'email_verified', 'roles']) == set(resp.json.keys()) assert resp.json['first_name'] == payload['first_name'] assert resp.json['last_name'] == payload['last_name'] assert resp.json['email'] == payload['email'] -- 2.11.0