Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
course-discovery
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
course-discovery
Commits
2570d0bb
Commit
2570d0bb
authored
May 17, 2016
by
Bill DeRusha
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #103 from edx/bderusha/active-courses-fix
Update active courses to exclude runs whose end date has passed
parents
1eea0dc5
b01148a7
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
31 additions
and
12 deletions
+31
-12
course_discovery/apps/api/v1/tests/test_views/test_affiliate_window.py
+2
-1
course_discovery/apps/api/v1/tests/test_views/test_catalogs.py
+6
-1
course_discovery/apps/course_metadata/query.py
+5
-2
course_discovery/apps/course_metadata/tests/test_query.py
+18
-8
No files found.
course_discovery/apps/api/v1/tests/test_views/test_affiliate_window.py
View file @
2570d0bb
...
...
@@ -28,7 +28,8 @@ class AffiliateWindowViewSetTests(ElasticsearchTestMixin, SerializationMixin, AP
self
.
catalog
=
CatalogFactory
(
query
=
'*:*'
,
viewers
=
[
self
.
user
])
self
.
enrollment_end
=
datetime
.
datetime
.
now
(
pytz
.
UTC
)
+
datetime
.
timedelta
(
days
=
30
)
self
.
course_run
=
CourseRunFactory
(
enrollment_end
=
self
.
enrollment_end
)
self
.
course_end
=
datetime
.
datetime
.
now
(
pytz
.
UTC
)
+
datetime
.
timedelta
(
days
=
60
)
self
.
course_run
=
CourseRunFactory
(
enrollment_end
=
self
.
enrollment_end
,
end
=
self
.
course_end
)
self
.
seat_verified
=
SeatFactory
(
course_run
=
self
.
course_run
,
type
=
Seat
.
VERIFIED
)
self
.
course
=
self
.
course_run
.
course
...
...
course_discovery/apps/api/v1/tests/test_views/test_catalogs.py
View file @
2570d0bb
...
...
@@ -28,7 +28,12 @@ class CatalogViewSetTests(ElasticsearchTestMixin, SerializationMixin, OAuth2Mixi
self
.
client
.
force_authenticate
(
self
.
user
)
self
.
catalog
=
CatalogFactory
(
query
=
'title:abc*'
)
enrollment_end
=
datetime
.
datetime
.
now
(
pytz
.
UTC
)
+
datetime
.
timedelta
(
days
=
30
)
self
.
course_run
=
CourseRunFactory
(
enrollment_end
=
enrollment_end
,
course__title
=
'ABC Test Course'
)
course_end
=
datetime
.
datetime
.
now
(
pytz
.
UTC
)
+
datetime
.
timedelta
(
days
=
60
)
self
.
course_run
=
CourseRunFactory
(
enrollment_end
=
enrollment_end
,
end
=
course_end
,
course__title
=
'ABC Test Course'
)
self
.
course
=
self
.
course_run
.
course
self
.
refresh_index
()
...
...
course_discovery/apps/course_metadata/query.py
View file @
2570d0bb
...
...
@@ -11,6 +11,9 @@ class CourseQuerySet(models.QuerySet):
or will be open for enrollment in the future. """
return
self
.
filter
(
Q
(
course_runs__enrollment_end__gt
=
datetime
.
datetime
.
now
(
pytz
.
UTC
))
|
Q
(
course_runs__enrollment_end__isnull
=
True
)
Q
(
course_runs__end__gt
=
datetime
.
datetime
.
now
(
pytz
.
UTC
))
&
(
Q
(
course_runs__enrollment_end__gt
=
datetime
.
datetime
.
now
(
pytz
.
UTC
))
|
Q
(
course_runs__enrollment_end__isnull
=
True
)
)
)
course_discovery/apps/course_metadata/tests/test_query.py
View file @
2570d0bb
...
...
@@ -11,15 +11,25 @@ class CourseQuerySetTests(TestCase):
def
test_active
(
self
):
""" Verify the method filters the Courses to those with active course runs. """
# Create an active course
enrollment_end
=
datetime
.
datetime
.
now
(
pytz
.
UTC
)
+
datetime
.
timedelta
(
days
=
30
)
active_course
=
CourseRunFactory
(
enrollment_end
=
enrollment_end
)
.
course
now
=
datetime
.
datetime
.
now
(
pytz
.
UTC
)
active_course_end
=
now
+
datetime
.
timedelta
(
days
=
60
)
inactive_course_end
=
now
-
datetime
.
timedelta
(
days
=
15
)
open_enrollment_end
=
now
+
datetime
.
timedelta
(
days
=
30
)
closed_enrollment_end
=
now
-
datetime
.
timedelta
(
days
=
30
)
# Create an inactive course
enrollment_end
=
datetime
.
datetime
.
now
(
pytz
.
UTC
)
-
datetime
.
timedelta
(
days
=
30
)
CourseRunFactory
(
enrollment_end
=
enrollment_end
,
course__title
=
'ABC Test Course 2'
)
# Create an active enrollable course
active_course
=
CourseRunFactory
(
enrollment_end
=
open_enrollment_end
,
end
=
active_course_end
)
.
course
# Create a course with unrestricted enrollment
course_without_end
=
CourseRunFactory
(
enrollment_end
=
None
)
.
course
# Create an active unenrollable course
CourseRunFactory
(
enrollment_end
=
closed_enrollment_end
,
end
=
active_course_end
,
course__title
=
'ABC Test Course 2'
)
# Create an inactive unenrollable course
CourseRunFactory
(
enrollment_end
=
closed_enrollment_end
,
end
=
inactive_course_end
)
# Create an active course with unrestricted enrollment
course_without_end
=
CourseRunFactory
(
enrollment_end
=
None
,
end
=
active_course_end
)
.
course
# Create an inactive course with unrestricted enrollment
CourseRunFactory
(
enrollment_end
=
None
,
end
=
inactive_course_end
)
self
.
assertEqual
(
set
(
Course
.
objects
.
active
()),
{
active_course
,
course_without_end
})
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment