Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: use CourseEnrollmentQuerysetRequested from openedx-filters #159

Merged
merged 1 commit into from
Jul 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
name: Label the PR size
steps:
- uses: CodelyTV/pr-size-labeler@v1.8.1
- uses: CodelyTV/pr-size-labeler@v1.7.0
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
xs_max_size: '10'
Expand Down
10 changes: 5 additions & 5 deletions eox_tenant/filters/pipeline.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,22 @@ class FilterUserCourseEnrollmentsByTenant(PipelineStep):
Filter enrollments list by a tenant.
"""

def run_filter(self, context): # pylint: disable=arguments-differ
def run_filter(self, enrollments): # pylint: disable=arguments-differ
"""
Filter especific user course enrollments by tenant request.
Example Usage:
Add the following configurations to you configuration file
Add the following configurations to your configuration file
"OPEN_EDX_FILTERS_CONFIG": {
"org.openedx.learning.course_enrollments_site.filter.requested.v1": {
"org.openedx.learning.course_enrollment_queryset.requested.v1": {
"fail_silently": false,
"pipeline": [
"eox_tenant.filters.pipeline.FilterUserCourseEnrollmentsByTenant"
]
}
}
"""
tenant_enrollments = filter_enrollments(context)
return {"context": tenant_enrollments}
tenant_enrollments = filter_enrollments(enrollments)
return {"enrollments": tenant_enrollments}


class FilterRenderCertificatesByOrg(PipelineStep):
Expand Down
35 changes: 7 additions & 28 deletions eox_tenant/filters/test/test_pipeline.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,33 +6,12 @@
import ddt
import mock
from django.test import TestCase, override_settings
from openedx_filters.learning.filters import CertificateRenderStarted
from openedx_filters.tooling import OpenEdxPublicFilter
from openedx_filters.learning.filters import CertificateRenderStarted, CourseEnrollmentQuerysetRequested

from eox_tenant.filters.pipeline import FilterRenderCertificatesByOrg
from eox_tenant.tenant_aware_functions.enrollments import filter_enrollments


# This class was temporarily added while the filter is added in openedx-filters.
class CourseEnrollmentSiteFilterRequested(OpenEdxPublicFilter):
"""
Custom class used to filter user's course enrollments by site.
"""

filter_type = "org.openedx.learning.course_enrollments_site.filter.requested.v1"

@classmethod
def run_filter(cls, context):
"""
Execute a filter with the signature specified.

Arguments:
context (QuerySet): list of all user's course enrollments.
"""
data = super().run_pipeline(context=context)
return data.get("context")


class FilterUserCourseEnrollmentsByTenantTestCase(TestCase):
"""
FilterUserCourseEnrollmentsByTenant test cases.
Expand All @@ -52,7 +31,7 @@ def setUp(self):

@override_settings(
OPEN_EDX_FILTERS_CONFIG={
"org.openedx.learning.course_enrollments_site.filter.requested.v1": {
"org.openedx.learning.course_enrollment_queryset.requested.v1": {
"fail_silently": False,
"pipeline": [
"eox_tenant.filters.pipeline.FilterUserCourseEnrollmentsByTenant"
Expand Down Expand Up @@ -88,8 +67,8 @@ def side_effect_get_value(key, default=None):

expected_result = filter_enrollments(self.course_enrollments)

result = CourseEnrollmentSiteFilterRequested.run_filter(
context=self.course_enrollments
result = CourseEnrollmentQuerysetRequested.run_filter(
enrollments=self.course_enrollments
)
expected_result = list(expected_result)
result = list(result)
Expand All @@ -99,7 +78,7 @@ def side_effect_get_value(key, default=None):

@override_settings(
OPEN_EDX_FILTERS_CONFIG={
"org.openedx.learning.course_enrollments_site.filter.requested.v1": {
"org.openedx.learning.course_enrollment_queryset.requested.v1": {
"fail_silently": False,
"pipeline": [
"eox_tenant.filters.pipeline.FilterUserCourseEnrollmentsByTenant"
Expand Down Expand Up @@ -136,8 +115,8 @@ def side_effect_get_value(key, default=None):

expected_result = filter_enrollments(self.course_enrollments)

result = CourseEnrollmentSiteFilterRequested.run_filter(
context=self.course_enrollments
result = CourseEnrollmentQuerysetRequested.run_filter(
enrollments=self.course_enrollments
)

self.assertListEqual(list(expected_result), list(result))
Expand Down
2 changes: 1 addition & 1 deletion requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jsonfield==3.1.0
# via
# -c requirements/constraints.txt
# -r requirements/base.in
openedx-filters==0.8.0
openedx-filters==1.4.0
# via
# -c requirements/constraints.txt
# -r requirements/base.in
Expand Down
2 changes: 1 addition & 1 deletion requirements/test.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ mock==4.0.3
# via
# -c requirements/constraints.txt
# -r requirements/test.in
openedx-filters==0.8.0
openedx-filters==1.4.0
# via
# -c requirements/constraints.txt
# -r requirements/base.txt
Expand Down