Merge pull request #16575 from edx/aj/entitlement_user_filter

Addition of user filter parameter to the Entitlement API
This commit is contained in:
Albert (AJ) St. Aubin
2017-11-17 08:22:01 -05:00
committed by GitHub
2 changed files with 17 additions and 2 deletions

View File

@@ -34,8 +34,8 @@ class UUIDListFilter(CharListFilter):
class CourseEntitlementFilter(filters.FilterSet):
uuid = UUIDListFilter()
course_uuid = UUIDListFilter()
user = filters.CharFilter(name='user__username')
class Meta:
model = CourseEntitlement
fields = ('uuid',)
fields = ('uuid', 'user')

View File

@@ -88,6 +88,21 @@ class EntitlementViewSetTest(ModuleStoreTestCase):
results = response.data.get('results', [])
assert results == CourseEntitlementSerializer(entitlements, many=True).data
def test_get_user_entitlements(self):
user2 = UserFactory()
CourseEntitlementFactory.create()
entitlement_user2 = CourseEntitlementFactory.create(user=user2)
url = reverse('entitlements_api:v1:entitlements-list')
url += '?user={username}'.format(username=user2.username)
response = self.client.get(
url,
content_type='application/json',
)
assert response.status_code == 200
results = response.data.get('results', [])
assert results == CourseEntitlementSerializer([entitlement_user2], many=True).data
def test_get_entitlement_by_uuid(self):
entitlement = CourseEntitlementFactory()
CourseEntitlementFactory.create_batch(2)