diff --git a/common/djangoapps/student/tests/test_certificates.py b/common/djangoapps/student/tests/test_certificates.py index 8cd89492e3..da4fa5a3d4 100644 --- a/common/djangoapps/student/tests/test_certificates.py +++ b/common/djangoapps/student/tests/test_certificates.py @@ -121,19 +121,27 @@ class CertificateDashboardMessageDisplayTest(CertificateDisplayTestBase): def _check_message(self, certificate_available_date): response = self.client.get(reverse('dashboard')) - if datetime.datetime.now(UTC) < certificate_available_date: + if certificate_available_date is None: + self.assertNotContains(response, u"Your certificate will be available on") + self.assertNotContains(response, u"View Test_Certificate") + elif datetime.datetime.now(UTC) < certificate_available_date: self.assertContains(response, u"Your certificate will be available on") self.assertNotContains(response, u"View Test_Certificate") else: self._check_can_download_certificate() - @ddt.data(False) + @ddt.data(True, False, None) def test_certificate_available_date(self, past_certificate_available_date): cert = self._create_certificate('verified') cert.status = CertificateStatuses.downloadable cert.save() - certificate_available_date = PAST_DATE if past_certificate_available_date else FUTURE_DATE + if past_certificate_available_date is None: + certificate_available_date = None + elif past_certificate_available_date: + certificate_available_date = PAST_DATE + elif not past_certificate_available_date: + certificate_available_date = FUTURE_DATE self.course.certificate_available_date = certificate_available_date self.course.save() diff --git a/lms/templates/dashboard/_dashboard_certificate_information.html b/lms/templates/dashboard/_dashboard_certificate_information.html index c7a3b8be17..f9c8951430 100644 --- a/lms/templates/dashboard/_dashboard_certificate_information.html +++ b/lms/templates/dashboard/_dashboard_certificate_information.html @@ -31,9 +31,9 @@ else: %> % if cert_status['status'] != 'processing': -
- % if not cert_status['certificate_message_viewable']: - % if (cert_status['status'] == 'generating' or cert_status['status'] == 'downloadable'): + % if not cert_status['certificate_message_viewable']: + % if (cert_status['status'] == 'generating' or cert_status['status'] == 'downloadable') and course_overview.certificate_available_date: +

<% certificate_available_date_string = course_overview.certificate_available_date.strftime('%Y-%m-%dT%H:%M:%S%z') @@ -42,8 +42,10 @@ else: %>

- % endif - % else: +
+ % endif + % else: +

${_("Your final grade:")} ${"{0:.0f}%".format(float(cert_status['grade'])*100)}. @@ -143,7 +145,7 @@ else:

% endif - % endif -
+ + % endif % endif