Merge pull request #28478 from edx/ashultz0/name-affirm-061

chore: update name affirmation to 0.6.1
This commit is contained in:
Andrew Shultz
2021-08-17 15:27:29 -04:00
committed by GitHub
6 changed files with 24 additions and 15 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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:

View File

@@ -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

View File

@@ -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

View File

@@ -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