Skip to content

Commit

Permalink
chore: Moved test variables to be more localized
Browse files Browse the repository at this point in the history
  • Loading branch information
rijuma committed Sep 9, 2024
1 parent 7786749 commit 95354e5
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 25 deletions.
2 changes: 1 addition & 1 deletion edx_name_affirmation/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ def verification_attempt_status(self):

try:
verification = SoftwareSecurePhotoVerification.objects.get(id=self.verification_attempt_id)
return verification.status if verification else None
return verification.status

except ObjectDoesNotExist:
return None
Expand Down
50 changes: 26 additions & 24 deletions edx_name_affirmation/tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,34 +13,16 @@
User = get_user_model()

idv_attempt_id = 34455
idv_attempt_status = 'submitted'

idv_attempt_id_notfound = 404
idv_attempt_id_notfound_status = None


def _obj(dictionary):
"Helper method to turn a dict into an object. Used to mock below."

return type('obj', (object,), dictionary)


def _mocked_model_get(id): # pylint: disable=redefined-builtin
"Helper method to mock the behavior of SoftwareSecurePhotoVerification model. Used to mock below."
if id == idv_attempt_id_notfound:
raise ObjectDoesNotExist

if id == idv_attempt_id:
return _obj({'status': idv_attempt_status})

return _obj({'status': None})


class VerifiedNameModelTests(TestCase):
"""
Test suite for the VerifiedName models
"""
def setUp(self):
self.idv_attempt_id = 34455
self.idv_attempt_status = 'submitted'
self.idv_attempt_id_notfound = 404
self.verified_name = 'Test Tester'
self.user = User.objects.create(username='modelTester', email='model@tester.com')
self.verified_name = VerifiedName.objects.create(
Expand Down Expand Up @@ -76,10 +58,30 @@ def test_verification_status(self, sspv_mock):
"""
Test the model history is recording records as expected
"""
sspv_mock.objects.get = _mocked_model_get

self.verified_name.verification_attempt_id = idv_attempt_id_notfound
idv_attempt_id_notfound_status = None

sspv_mock.objects.get = self._mocked_model_get

self.verified_name.verification_attempt_id = self.idv_attempt_id_notfound
assert self.verified_name.verification_attempt_status is idv_attempt_id_notfound_status

self.verified_name.verification_attempt_id = idv_attempt_id
assert self.verified_name.verification_attempt_status is idv_attempt_status
assert self.verified_name.verification_attempt_status is self.idv_attempt_status

# Helper methods

def _obj(self, dictionary):
"Helper method to turn a dict into an object. Used to mock below."

return type('obj', (object,), dictionary)

def _mocked_model_get(self, id): # pylint: disable=redefined-builtin
"Helper method to mock the behavior of SoftwareSecurePhotoVerification model. Used to mock below."
if id == self.idv_attempt_id_notfound:
raise ObjectDoesNotExist

if id == idv_attempt_id:
return self._obj({'status': self.idv_attempt_status})

return self._obj({'status': None})

Check failure on line 87 in edx_name_affirmation/tests/test_models.py

View workflow job for this annotation

GitHub Actions / Tests (ubuntu-20.04, 3.11, 10, django42)

Missing coverage

Missing coverage on line 87

0 comments on commit 95354e5

Please sign in to comment.