Skip to content

Commit

Permalink
Adding serializers, tests, and minor refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
gsa-jrothacker committed Feb 28, 2025
1 parent 01a012d commit 5ce7b60
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 15 deletions.
29 changes: 24 additions & 5 deletions backend/api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -281,20 +281,39 @@ class AccessListSerializer(serializers.ModelSerializer):
report_id = serializers.SerializerMethodField()
submission_status = serializers.SerializerMethodField()

# TODO: Update Post SOC Launch
def get_auditee_uei(self, access):
return access.sac.auditee_uei
return (
access.audit.audit.get("general_information", {}).get("auditee_uei", None)
if access.audit
else access.sac.auditee_uei
)

def get_auditee_fiscal_period_end(self, access):
return access.sac.auditee_fiscal_period_end
return (
access.audit.audit.get("general_information", {}).get(
"auditee_fiscal_period_end", None
)
if access.audit
else access.sac.auditee_fiscal_period_end
)

def get_auditee_name(self, access):
return access.sac.auditee_name
return (
access.audit.audit.get("general_information", {}).get("auditee_name", None)
if access.audit
else access.sac.auditee_name
)

def get_report_id(self, access):
return access.sac.report_id
return access.audit.report_id if access.audit else access.sac.report_id

def get_submission_status(self, access):
return access.sac.submission_status
return (
access.audit.submission_status
if access.audit
else access.sac.submission_status
)

class Meta:
model = Access
Expand Down
44 changes: 39 additions & 5 deletions backend/api/test_serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -574,14 +574,48 @@ def test_expected_fields_included(self):

serializer = AccessListSerializer(access)

self.assertEqual(serializer.data["auditee_uei"], access.sac.auditee_uei)
# TODO: Update Post SOC Launch
# remove if/else when we deprecate SAC data.
self.assertEqual(
serializer.data["auditee_uei"],
(
access.audit.audit.get("general_information", {}).get(
"auditee_uei", None
)
if access.audit
else access.sac.auditee_uei
),
)
self.assertEqual(
serializer.data["auditee_fiscal_period_end"],
access.sac.auditee_fiscal_period_end,
(
access.audit.audit.get("general_information", {}).get(
"auditee_fiscal_period_end", None
)
if access.audit
else access.sac.auditee_fiscal_period_end
),
)
self.assertEqual(
serializer.data["auditee_name"],
(
access.audit.audit.get("general_information", {}).get(
"auditee_name", None
)
if access.audit
else access.sac.auditee_name
),
)
self.assertEqual(
serializer.data["report_id"],
access.audit.report_id if access.audit else access.sac.report_id,
)
self.assertEqual(serializer.data["auditee_name"], access.sac.auditee_name)
self.assertEqual(serializer.data["report_id"], access.sac.report_id)
self.assertEqual(
serializer.data["submission_status"], access.sac.submission_status
serializer.data["submission_status"],
(
access.audit.submission_status
if access.audit
else access.sac.submission_status
),
)
self.assertEqual(serializer.data["role"], access.role)
6 changes: 3 additions & 3 deletions backend/audit/models/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ class STATUS:
)


class AUDIT_TYPE:
class AuditType:
SINGLE_AUDIT = "single_audit"
PROGRAM_SPECIFIC = "program_specific"


AUDIT_TYPE_CODES = (
(AUDIT_TYPE.SINGLE_AUDIT, _("Single Audit")),
(AUDIT_TYPE.PROGRAM_SPECIFIC, _("Program-Specific Audit")),
(AuditType.SINGLE_AUDIT, _("Single Audit")),
(AuditType.PROGRAM_SPECIFIC, _("Program-Specific Audit")),
)
5 changes: 3 additions & 2 deletions backend/audit/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
User,
generate_sac_report_id,
)
from audit.models import Audit
from .models.models import STATUS
from .models.viewflow import sac_transition, SingleAuditChecklistFlow

Expand Down Expand Up @@ -228,10 +229,10 @@ def test_access_creation_non_unique_emails(self):
baker.make(User, email="[email protected]")
baker.make(User, email="[email protected]")

sac = baker.make(SingleAuditChecklist)
audit = baker.make(Audit)

access = Access.objects.create(
sac=sac,
audit=audit,
role="editor",
email="[email protected]",
event_user=creator,
Expand Down

0 comments on commit 5ce7b60

Please sign in to comment.