diff --git a/common/djangoapps/student/tests/test_views.py b/common/djangoapps/student/tests/test_views.py
index 933ce59cdd..f14c1a334d 100644
--- a/common/djangoapps/student/tests/test_views.py
+++ b/common/djangoapps/student/tests/test_views.py
@@ -395,16 +395,18 @@ class StudentDashboardTests(SharedModuleStoreTestCase, MilestonesTestCaseMixin):
self.assertIn('You can no longer select a session', response.content)
self.assertNotIn('
', response.content)
+ @patch('openedx.core.djangoapps.programs.utils.get_programs')
@patch('student.views.get_course_runs_for_course')
@patch.object(CourseOverview, 'get_from_id')
@patch('opaque_keys.edx.keys.CourseKey.from_string')
- def test_fulfilled_entitlement(self, mock_course_key, mock_course_overview, mock_course_runs):
+ def test_fulfilled_entitlement(self, mock_course_key, mock_course_overview, mock_course_runs, mock_get_programs):
"""
When a learner has a fulfilled entitlement, their course dashboard should have:
- exactly one course item, meaning it:
- has an entitlement card
- does NOT have a course card referencing the selected session
- an unhidden Change Session button
+ - a related programs message
"""
mocked_course_overview = CourseOverviewFactory(
start=self.TOMORROW, self_paced=True, enrollment_end=self.TOMORROW
@@ -420,20 +422,27 @@ class StudentDashboardTests(SharedModuleStoreTestCase, MilestonesTestCaseMixin):
'type': 'verified'
}
]
- CourseEntitlementFactory(user=self.user, enrollment_course_run=course_enrollment)
+ entitlement = CourseEntitlementFactory(user=self.user, enrollment_course_run=course_enrollment)
+ program = ProgramFactory()
+ program['courses'][0]['course_runs'] = [{'key': unicode(mocked_course_overview.id)}]
+ program['courses'][0]['uuid'] = entitlement.course_uuid
+ mock_get_programs.return_value = [program]
response = self.client.get(self.path)
self.assertEqual(response.content.count('
'), 1)
self.assertIn('