def test_staff_get_only_staff_entitlements(self): CourseEntitlementFactory.create_batch(2) entitlement = CourseEntitlementFactory.create(user=self.user) response = self.client.get( self.entitlements_list_url, content_type='application/json', ) assert response.status_code == 200 results = response.data.get('results', []) assert results == CourseEntitlementSerializer([entitlement], many=True).data
def test_non_staff_get_select_entitlements(self): not_staff_user = UserFactory() self.client.login(username=not_staff_user.username, password=TEST_PASSWORD) CourseEntitlementFactory.create_batch(2) entitlement = CourseEntitlementFactory.create(user=not_staff_user) response = self.client.get( self.entitlements_list_url, content_type='application/json', ) assert response.status_code == 200 results = response.data.get('results', []) assert results == CourseEntitlementSerializer([entitlement], many=True).data
def test_get_entitlement_by_uuid(self): entitlement = CourseEntitlementFactory.create() CourseEntitlementFactory.create_batch(2) url = reverse(self.ENTITLEMENTS_DETAILS_PATH, args=[str(entitlement.uuid)]) response = self.client.get( url, content_type='application/json', ) assert response.status_code == 200 results = response.data assert results == CourseEntitlementSerializer(entitlement).data and results.get('expired_at') is None
def test_get_expired_entitlement_by_uuid(self): past_datetime = now() - timedelta(days=365 * 2) entitlement = CourseEntitlementFactory(created=past_datetime) CourseEntitlementFactory.create_batch(2) CourseEntitlementFactory() url = reverse(self.ENTITLEMENTS_DETAILS_PATH, args=[str(entitlement.uuid)]) response = self.client.get( url, content_type='application/json', ) assert response.status_code == 200 results = response.data assert results.get('expired_at')
def test_staff_get_expired_entitlements(self): past_datetime = now() - timedelta(days=365 * 2) entitlements = CourseEntitlementFactory.create_batch(2, created=past_datetime, user=self.user) # Set the first entitlement to be at a time that it isn't expired entitlements[0].created = now() entitlements[0].save() response = self.client.get( self.entitlements_list_url, content_type='application/json', ) assert response.status_code == 200 results = response.data.get('results', []) # Make sure that the first result isn't expired, and the second one is also not for staff users assert results[0].get('expired_at') is None and results[1].get('expired_at') is None
def test_get_user_expired_entitlements(self): past_datetime = now() - timedelta(days=365 * 2) not_staff_user = UserFactory() self.client.login(username=not_staff_user.username, password=TEST_PASSWORD) entitlement_user2 = CourseEntitlementFactory.create_batch(2, user=not_staff_user, created=past_datetime) url = reverse('entitlements_api:v1:entitlements-list') url += '?user={username}'.format(username=not_staff_user.username) # Set the first entitlement to be at a time that it isn't expired entitlement_user2[0].created = now() entitlement_user2[0].save() response = self.client.get( url, content_type='application/json', ) assert response.status_code == 200 results = response.data.get('results', []) assert results[0].get('expired_at') is None and results[1].get('expired_at')