feat: update name affirmation to 0.6.1
Certificate tests required an update to switch from boolean verified flag to status. This feature is not deployed yet so only test uses needed attention. MST-969 and friends
This commit is contained in:
@@ -6,6 +6,7 @@ import logging
|
||||
from unittest import mock
|
||||
|
||||
from edx_name_affirmation.api import create_verified_name, create_verified_name_config
|
||||
from edx_name_affirmation.statuses import VerifiedNameStatus
|
||||
from edx_name_affirmation.toggles import VERIFIED_NAME_FLAG
|
||||
from edx_toggles.toggles.testutils import override_waffle_flag
|
||||
|
||||
@@ -195,16 +196,18 @@ class CertificateTests(EventTestMixin, ModuleStoreTestCase):
|
||||
assert cert.name == ''
|
||||
|
||||
@override_waffle_flag(VERIFIED_NAME_FLAG, active=True)
|
||||
@ddt.data((True, True), (True, False), (False, False))
|
||||
@ddt.data((True, VerifiedNameStatus.APPROVED),
|
||||
(True, VerifiedNameStatus.DENIED),
|
||||
(False, VerifiedNameStatus.PENDING))
|
||||
@ddt.unpack
|
||||
def test_generation_verified_name(self, should_use_verified_name_for_certs, is_verified):
|
||||
def test_generation_verified_name(self, should_use_verified_name_for_certs, status):
|
||||
"""
|
||||
Test that if verified name functionality is enabled and the user has their preference set to use
|
||||
verified name for certificates, their verified name will appear on the certificate rather than
|
||||
their profile name.
|
||||
"""
|
||||
verified_name = 'Jonathan Doe'
|
||||
create_verified_name(self.u, verified_name, self.name, is_verified=is_verified)
|
||||
create_verified_name(self.u, verified_name, self.name, status=status)
|
||||
create_verified_name_config(self.u, use_verified_name_for_certs=should_use_verified_name_for_certs)
|
||||
|
||||
GeneratedCertificateFactory(
|
||||
@@ -220,7 +223,7 @@ class CertificateTests(EventTestMixin, ModuleStoreTestCase):
|
||||
|
||||
cert = GeneratedCertificate.objects.get(user=self.u, course_id=self.key)
|
||||
|
||||
if should_use_verified_name_for_certs and is_verified:
|
||||
if should_use_verified_name_for_certs and status == VerifiedNameStatus.APPROVED:
|
||||
assert cert.name == verified_name
|
||||
else:
|
||||
assert cert.name == self.name
|
||||
|
||||
@@ -13,6 +13,7 @@ from django.core.files.uploadedfile import SimpleUploadedFile
|
||||
from django.test import TestCase
|
||||
from django.test.utils import override_settings
|
||||
from edx_name_affirmation.api import create_verified_name, create_verified_name_config
|
||||
from edx_name_affirmation.statuses import VerifiedNameStatus
|
||||
from edx_name_affirmation.toggles import VERIFIED_NAME_FLAG
|
||||
from edx_toggles.toggles.testutils import override_waffle_flag
|
||||
from opaque_keys.edx.locator import CourseKey, CourseLocator
|
||||
@@ -545,15 +546,17 @@ class GeneratedCertificateTest(SharedModuleStoreTestCase):
|
||||
self._assert_event_data(mock_emit_certificate_event, expected_event_data)
|
||||
|
||||
@override_waffle_flag(VERIFIED_NAME_FLAG, active=True)
|
||||
@ddt.data((True, True), (True, False), (False, False))
|
||||
@ddt.data((True, VerifiedNameStatus.APPROVED),
|
||||
(True, VerifiedNameStatus.DENIED),
|
||||
(False, VerifiedNameStatus.PENDING))
|
||||
@ddt.unpack
|
||||
def test_invalidate_with_verified_name(self, should_use_verified_name_for_certs, is_verified):
|
||||
def test_invalidate_with_verified_name(self, should_use_verified_name_for_certs, status):
|
||||
"""
|
||||
Test the invalidate method with verified name turned on for the user's certificates
|
||||
"""
|
||||
verified_name = 'Jonathan Doe'
|
||||
profile = UserProfile.objects.get(user=self.user)
|
||||
create_verified_name(self.user, verified_name, profile.name, is_verified=is_verified)
|
||||
create_verified_name(self.user, verified_name, profile.name, status=status)
|
||||
create_verified_name_config(self.user, use_verified_name_for_certs=should_use_verified_name_for_certs)
|
||||
|
||||
cert = GeneratedCertificateFactory.create(
|
||||
@@ -568,7 +571,7 @@ class GeneratedCertificateTest(SharedModuleStoreTestCase):
|
||||
cert.invalidate(mode=mode, source=source)
|
||||
|
||||
cert = GeneratedCertificate.objects.get(user=self.user, course_id=self.course_key)
|
||||
if should_use_verified_name_for_certs and is_verified:
|
||||
if should_use_verified_name_for_certs and status == VerifiedNameStatus.APPROVED:
|
||||
assert cert.name == verified_name
|
||||
else:
|
||||
assert cert.name == profile.name
|
||||
|
||||
@@ -13,6 +13,7 @@ from django.test.client import Client, RequestFactory
|
||||
from django.test.utils import override_settings
|
||||
from django.urls import reverse
|
||||
from edx_name_affirmation.api import create_verified_name, create_verified_name_config
|
||||
from edx_name_affirmation.statuses import VerifiedNameStatus
|
||||
from edx_name_affirmation.toggles import VERIFIED_NAME_FLAG
|
||||
from edx_toggles.toggles.testutils import override_waffle_flag, override_waffle_switch
|
||||
from organizations import api as organizations_api
|
||||
@@ -1593,16 +1594,18 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
|
||||
|
||||
@override_settings(FEATURES=FEATURES_WITH_CERTS_ENABLED)
|
||||
@override_waffle_flag(VERIFIED_NAME_FLAG, active=True)
|
||||
@ddt.data((True, True), (True, False), (False, False))
|
||||
@ddt.data((True, VerifiedNameStatus.APPROVED),
|
||||
(True, VerifiedNameStatus.DENIED),
|
||||
(False, VerifiedNameStatus.PENDING))
|
||||
@ddt.unpack
|
||||
def test_certificate_view_verified_name(self, should_use_verified_name_for_certs, is_verified):
|
||||
def test_certificate_view_verified_name(self, should_use_verified_name_for_certs, status):
|
||||
"""
|
||||
Test that if verified name functionality is enabled and the user has their preference set to use
|
||||
verified name for certificates, their verified name will appear on the certificate rather than
|
||||
their profile name.
|
||||
"""
|
||||
verified_name = 'Jonathan Doe'
|
||||
create_verified_name(self.user, verified_name, self.user.profile.name, is_verified=is_verified)
|
||||
create_verified_name(self.user, verified_name, self.user.profile.name, status=status)
|
||||
create_verified_name_config(self.user, use_verified_name_for_certs=should_use_verified_name_for_certs)
|
||||
|
||||
self._add_course_certificates(count=1, signatory_count=1)
|
||||
@@ -1613,7 +1616,7 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
|
||||
)
|
||||
|
||||
response = self.client.get(test_url, HTTP_HOST='test.localhost')
|
||||
if should_use_verified_name_for_certs and is_verified:
|
||||
if should_use_verified_name_for_certs and status == VerifiedNameStatus.APPROVED:
|
||||
self.assertContains(response, verified_name)
|
||||
self.assertNotContains(response, self.user.profile.name)
|
||||
else:
|
||||
|
||||
@@ -445,7 +445,7 @@ edx-i18n-tools==0.7.0
|
||||
# via ora2
|
||||
edx-milestones==0.3.2
|
||||
# via -r requirements/edx/base.in
|
||||
edx-name-affirmation==0.4.0
|
||||
edx-name-affirmation==0.6.1
|
||||
# via -r requirements/edx/base.in
|
||||
edx-opaque-keys[django]==2.2.2
|
||||
# via
|
||||
|
||||
@@ -542,7 +542,7 @@ edx-lint==5.0.0
|
||||
# via -r requirements/edx/testing.txt
|
||||
edx-milestones==0.3.2
|
||||
# via -r requirements/edx/testing.txt
|
||||
edx-name-affirmation==0.4.0
|
||||
edx-name-affirmation==0.6.1
|
||||
# via -r requirements/edx/testing.txt
|
||||
edx-opaque-keys[django]==2.2.2
|
||||
# via
|
||||
|
||||
@@ -526,7 +526,7 @@ edx-lint==5.0.0
|
||||
# via -r requirements/edx/testing.in
|
||||
edx-milestones==0.3.2
|
||||
# via -r requirements/edx/base.txt
|
||||
edx-name-affirmation==0.4.0
|
||||
edx-name-affirmation==0.6.1
|
||||
# via -r requirements/edx/base.txt
|
||||
edx-opaque-keys[django]==2.2.2
|
||||
# via
|
||||
|
||||
Reference in New Issue
Block a user