|
40 | 40 | from auth_api.services import Org as OrgService |
41 | 41 | from auth_api.services import User |
42 | 42 | from auth_api.utils import roles |
43 | | -from auth_api.utils.enums import AffiliationInvitationType, InvitationStatus, LoginSource, QueueMessageType |
| 43 | +from auth_api.utils.enums import ( |
| 44 | + AffiliationInvitationType, |
| 45 | + InvitationStatus, |
| 46 | + LoginSource, |
| 47 | + QueueMessageType, |
| 48 | +) |
44 | 49 | from tests.utilities.factory_scenarios import TestContactInfo, TestEntityInfo, TestJwtClaims, TestOrgInfo, TestUserInfo |
45 | 50 | from tests.utilities.factory_utils import ( |
46 | 51 | factory_affiliation_invitation, |
@@ -986,10 +991,11 @@ def test_get_all_invitations_with_details_related_to_org( |
986 | 991 | @pytest.mark.parametrize( |
987 | 992 | "operation,login_source,expected_error", |
988 | 993 | [ |
989 | | - # UNAFFILIATED_EMAIL blocked by check_auth_for_invitation for create/update/delete |
990 | | - ("create", None, Error.INVALID_AFFILIATION_INVITATION_TYPE), |
991 | | - ("update", None, Error.INVALID_AFFILIATION_INVITATION_TYPE), |
992 | | - ("delete", None, Error.INVALID_AFFILIATION_INVITATION_TYPE), |
| 994 | + # UNAFFILIATED_EMAIL blocked by check_auth_for_invitation for create/update |
| 995 | + ("create", LoginSource.BCSC.value, Error.INVALID_AFFILIATION_INVITATION_TYPE), |
| 996 | + ("update", LoginSource.BCSC.value, Error.INVALID_AFFILIATION_INVITATION_TYPE), |
| 997 | + # UNAFFILIATED_EMAIL delete is allowed |
| 998 | + ("delete", LoginSource.BCSC.value, None), |
993 | 999 | # UNAFFILIATED_EMAIL accept checks login_source |
994 | 1000 | ("accept", LoginSource.BCSC.value, None), |
995 | 1001 | ("accept", LoginSource.BCEID.value, Error.INVALID_USER_CREDENTIALS), |
@@ -1041,16 +1047,20 @@ def test_unaffiliated_email_invitation_auth( |
1041 | 1047 | elif operation == "update": |
1042 | 1048 | invitation = AffiliationInvitationService.send_unaffiliated_email_invitation(entity) |
1043 | 1049 | invitation.update_affiliation_invitation(User(user), {}) |
1044 | | - elif operation == "delete": |
1045 | | - invitation = AffiliationInvitationService.send_unaffiliated_email_invitation(entity) |
1046 | | - AffiliationInvitationService.delete_affiliation_invitation(invitation.as_dict()["id"]) |
1047 | 1050 | elif operation == "accept": |
1048 | 1051 | invitation = AffiliationInvitationService.send_unaffiliated_email_invitation(entity) |
1049 | 1052 | AffiliationInvitationService.accept_affiliation_invitation( |
1050 | 1053 | invitation.as_dict()["id"], User(user), "" |
1051 | 1054 | ) |
1052 | 1055 | assert exception.value.code == expected_error.name |
1053 | | - else: |
| 1056 | + elif operation == "delete": |
| 1057 | + invitation = AffiliationInvitationService.send_unaffiliated_email_invitation(entity) |
| 1058 | + invitation_id = invitation.as_dict()["id"] |
| 1059 | + AffiliationInvitationService.accept_affiliation_invitation(invitation_id, User(user), "") |
| 1060 | + AffiliationInvitationService.delete_affiliation_invitation(invitation_id) |
| 1061 | + updated = AffiliationInvitationModel.find_invitation_by_id(invitation_id) |
| 1062 | + assert updated.is_deleted is True |
| 1063 | + elif operation == "accept": |
1054 | 1064 | invitation = AffiliationInvitationService.send_unaffiliated_email_invitation(entity) |
1055 | 1065 | result = AffiliationInvitationService.accept_affiliation_invitation( |
1056 | 1066 | invitation.as_dict()["id"], User(user), "" |
|
0 commit comments