Commit 60cf03a6 by Mike Dikan

Update Search Indexer to exclude unpublished programs

Exclude when nested unpublished programs are under course runs on course run search endpoint.

ECOM-6147
parent db339d3e
......@@ -366,7 +366,9 @@ class CourseRun(TimeStampedModel):
@property
def program_types(self):
return [program.type.name for program in self.programs.all()]
# Exclude unpublished programs from list so we don't identify that program type if not available
all_programs = [program for program in self.programs.all() if program.status != ProgramStatus.Unpublished]
return [program.type.name for program in all_programs]
@property
def marketing_url(self):
......
......@@ -163,6 +163,13 @@ class CourseRunTests(TestCase):
other_program = factories.ProgramFactory(courses=courses)
self.assertCountEqual(self.course_run.program_types, [program.type.name, other_program.type.name])
def test_unpublished_program_types(self):
""" Verify the property exludes program types that are unpublished. """
courses = [self.course_run.course]
program = factories.ProgramFactory(courses=courses)
other_program = factories.ProgramFactory(courses=courses, status=ProgramStatus.Unpublished)
self.assertCountEqual(self.course_run.program_types, [program.type.name])
class OrganizationTests(TestCase):
""" Tests for the `Organization` model. """
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment